Dies ist ein spezifisches Beispiel für ein generisches Problem, für das ich noch keine Lösung gefunden habe.
Ich habe ein Programm (Android Virtual Device Manager), das "Unterprogramme" (nämlich Emulatoren oder virtuelle Geräte) von sich aus startet (kann auch von woanders gestartet werden). Ich möchte, dass alle Instanzen von JEDEM dieser Programme unter demselben Unity-Symbol gruppiert werden.
Ich habe eine .desktop
Datei erstellt, um dies zu erreichen, weiß aber nicht genau, wie ich es anstellen soll. Die Desktop-Datei sieht wie folgt aus:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Name=Android Virtual Device
Icon=/home/ben/.icons/android.svg
Exec=/home/ben/usr/bin/android avd
StartupWMClass=Android Virtual Device Manager
Nach meinem Verständnis muss StartupWMClass
ich Folgendes einstellen, um dies korrekt zu erreichen. Ich habe die beiden Klassennamen ('Android Virtual Device Manager' und ' xprop WM_CLASS
emulator64 -arm') unter Verwendung der entsprechenden Fenster erhalten. Beide funktionieren einzeln (das Startsymbol ist unabhängig von der Art des Programmstarts korrekt an das Programm angehängt), aber ich kann nicht dafür sorgen, dass es für beide funktioniert.
Ich StartupWMClass
gehe davon aus, dass ich zwei Werte für irgendwie festlegen muss, aber nicht in der Lage war, es richtig zu tun (oder zu wissen, ob es eine gültige Operation ist). Ich habe versucht, Doppelpunkt getrennt wie Umgebungsvariablen, Komma getrennt, Anführungszeichen usw. und ich kann keine Hinweise in der offiziellen Dokumentation finden .
Irgendwelche Vorschläge?
BEARBEITEN:
Ein anderes, umständlicheres, aber wahrscheinlich identifizierbareres Beispiel ist mit Matlab
. Ich führe 2013a aus und der Startbildschirm, der anfänglich angezeigt wird, und das Programm haben völlig unterschiedliche WM_CLASS
Werte. Das heißt, wenn ich auf meinen StartupWMClass=com-mathworks-util-PostVMInit
Startbildschirm klicke, wird auf dem Begrüßungsbildschirm ein anderes (standardmäßig unbekanntes) Unity
Symbol angezeigt , während der Rest unter meinem Startbildschirm gruppiert wird.
Wenn ich xprop WMCLASS
zuerst den Begrüßungsbildschirm benutze und darauf klicke und dann mit einer aktiven Matlab
Sitzung wiederhole, erhalte ich die folgende Terminalausgabe:
ben@ben-OptiPlex-9010:~$ xprop WM_CLASS
WM_CLASS(STRING) = "MATLAB", "MATLAB"
ben@ben-OptiPlex-9010:~$ xprop WM_CLASS
WM_CLASS(STRING) = "sun-awt-X11-XFramePeer", "com-mathworks-util-PostVMInit"
Wenn ich etwas nach folgendem Schema spezifizieren könnte:
StartupWMClass=com-mathworks-util-PostVMInit&&MATLAB
Das würde perfekt funktionieren (da beide getrennt funktionieren), aber ich habe keine Ahnung von der Syntax, ob sie überhaupt existiert. Ich weiß nur, dass bisher nichts funktioniert hat, was ich ausprobiert habe.
Jede Hilfe oder endgültige Antwort wäre großartig, da dies meiner Meinung nach ein ziemlich grundlegendes Element eines gut funktionierenden Desktops ist.
Drawers
in dieser Verbindung und von dem, was sie zeigen, ist es einfach gruppiert die Links, wenn Sie eine beliebigen Unterpunkt klicken, wird es immer noch mit einem eigenen Symbol in dem erstellten Unity
Launcher das ist , was ich zu stoppen bin versucht