Das ist die Situation:
Ich arbeite an (der nächsten Version von) einem Unity Quick List-Editor und möchte eine zuverlässige Methode zum "Neustarten" von Starter-Symbolen hinzufügen. Dazu muss ich das Symbol entfernen (gsettings bearbeiten) und an derselben Position ersetzen. Bisher kein Problem. Wenn die betreffende Anwendung jedoch ausgeführt wird, gehen möglicherweise Daten verloren, da die Anwendung beendet wird, wenn das entsprechende Symbol aus dem Launcher entfernt wird. Was ich brauche, ist eine zuverlässige Möglichkeit, den Prozessnamen einer Anwendung zu finden, den Editor die Liste der ausgeführten Prozesse überprüfen zu lassen, wenn die Anwendung ausgeführt wird, und dem Benutzer eine Warnmeldung zu senden, dass das Symbol nicht neu gestartet werden kann, wenn die Anwendung ausgeführt wird Laufen.
Bisher habe ich den Editor dazu gebracht, in die Desktop-Datei zu schauen, den Befehl zu lesen, auch den Befehl zu lesen, aus dem Verzeichnisabschnitt zu streichen und darüber hinaus nach möglichen Remote-Skripten zu suchen, auf die der Desktop-Dateibefehl möglicherweise verweist mit "./"
Obwohl die Methode mit allen Anwendungen, mit denen ich sie getestet habe, gut zu funktionieren scheint, habe ich das Gefühl, dass es einen einfacheren Weg geben muss, um das Problem auf eine Art und Weise zu lösen ...
Gibt es?
Auch Vorschläge, um weitere Ausnahmesituationen einzufangen, sind willkommen!
ps
und xprop
Ausgabe zu kennen?
.desktop
Datei "berechnete" Prozessname, der nicht unbedingt die WM_CLASS ist. Die WM_CLASS kann in der Anwendung festgelegt werden.
firefox.desktop
, Firefox mit PID 1234 zu starten , aber es wurde WM_CLASS
in etwas wie "Totally Not Firefox" geändert . Die .desktop
Datei ändert sich jedoch nicht. Der Name soll unabhängig von der PID 1234 angehängt werden WM_CLASS
. Ich denke, ich sehe genau, was getan werden muss. Aber Sie haben meine erste Frage nicht beantwortet - ist es in Ordnung, wenn es nur für Unity ist?