O que o campo StartupWMClass de um arquivo .desktop representa?

69

Estou trabalhando neste arquivo .desktop preexistente e tenho uma dúvida:

O conteúdo do arquivo é:

[Desktop Entry]
#Icon=connect-data-space
Icon=XCloud
Categories=Utility;
Type=Application
#Exec=/usr/share/ConnectDataSpace/appl/launcher.sh
Exec=/usr/share/XCloud/appl/launcher.sh
Name[en_US]=Connect Data Space
#Name=Connect Data Space
Name=XCloud
Comment[en_US]=
Comment=
StartupNotify=true
Terminal=false
OnlyShowIn=GNOME;Unity;
StartupWMClass=ConnectDataSpace
Actions=CheckUpgrade

[Desktop Action CheckUpgrade]
Name=Verifica Aggiornamenti
#Exec=java -jar /usr/share/ConnectDataSpace/appl/lib/shellExtBridge.jar -checkupgrade
Exec=java -jar /usr/share/XCloud/appl/lib/shellExtBridge.jar -checkupgrade
OnlyShowIn=GNOME;Unity;

O que exatamente o campo StartupWMClass deste arquivo representa?

AndreaNobili
fonte

Respostas:

95

Os ambientes modernos de desktop Linux (Gnome 3, Ubuntu Unity, Docky) usam a WMClasspropriedade para associar janelas ao aplicativo proprietário. Muitos aplicativos baseados em Java têm o problema de que as janelas criadas pelo aplicativo não estão associadas ao atalho usado para iniciar o aplicativo (portanto, o encaixe contém várias cópias do mesmo ícone).

Portanto, o campo chamado StartupWMClassé uma sequência que define em qual classe o aplicativo é agrupado no Unity Launcher na inicialização.

Você pode descobrir qual é a WM_CLASSsua janela quando digita um terminal:

xprop WM_CLASS

e depois clique na janela. No caso do terminal gnome, a saída é a seguinte:

WM_CLASS(STRING) = "gnome-terminal", "Gnome-terminal"

Portanto, todas as janelas com WM_CLASS"gnome-terminal" e "gnome-terminal" são agrupadas.

caos
fonte
3
Acho útil para conectar-se a página oficial especificações freedesktop, embora ele não adiciona um monte de informações: standards.freedesktop.org/desktop-entry-spec/latest/...
Pisu
11
Mais para a resposta: não use aspas no valor do arquivo da área de trabalho.
joker