Synchronisieren Sie die Symbole zwischen .desktop und Dock
Ich habe einen benutzerdefinierten .desktop-Eintrag in meinem Home-Verzeichnis erstellt. ~/.local/share/applications/startMyApp.desktop
Ich habe ihn so erstellt, dass er ein xterm anstelle eines Gnome-Terminals verwendet. Ich möchte, dass es im Dock anders aussieht als meine Gnome-Terminals, die ich interaktiv verwende.
Das startMyApp.desktop
sieht aus wie:
[Desktop Entry]
Type=Application
Name=MyScript
Terminal=false
Exec=xterm -e myScript.sh
Icon=myIcon.png
Ich habe eine Symboldatei in erstellt ~/.icons/myIcon.png
Das Symbol wird im Standarddateibrowser korrekt angezeigt. Beim Öffnen über einen Dateibrowser wird das Skript erwartungsgemäß in einem xterm ausgeführt. Das Symbol im Dock wird jedoch als ein anderes generisches xterm-Symbol angezeigt. Woher kommt dieses Symbol? Ist es in die Binärdatei eingebettet?
Wie kann ich das ändern? Ich möchte, dass das Symbol im Dock genauso aussieht wie das in der .desktop
Datei angegebene. Mit Ubuntu gebündelte Anwendungen haben beim Start dasselbe Symbol im Dock (abgesehen von den roten Punkten, die angeben, wie viele Fenster geöffnet sind).
Antworten
Sie müssen Ihrer Datei einen richtigen StartupWMClassEintrag hinzufügen .desktop
. Führen Sie dazu die folgenden Schritte aus.
- Starten Sie die betreffende Anwendung.
- Starten Sie ein separates Terminalfenster und führen Sie es aus
xprop WM_CLASS
. - Platzieren Sie den Cursor über dem geöffneten Anwendungsfenster. Der Cursor sollte sich inzwischen in ein Fadenkreuz verwandeln. Klicken. Sie sollten eine
WM_CLASS
Zeichenfolge für die Anwendung im Terminalfenster erhalten. Fügen Sie in die
.desktop
Datei die folgende Zeile einStartupWMClass=OBTAINED-VALUE
Anstelle von
OBTAINED-VALUE
legen einen Wert bekommen Sie von Schritt 3 ohne Anführungszeichen.
Update vom OP:
Außerdem musste ich anscheinend einen Namen für die xterm-Instanz angeben. Die Exec-Zeile sieht jetzt so aus
xterm -name myApp -e myScript.sh