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

45

Estou trabalhando neste arquivo .desktop pré-existente 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 representa o campo StartupWMClass desse arquivo?

Tnx

Andrea

    
por AndreaNobili 28.10.2013 / 18:23

1 resposta

57

Os ambientes modernos de desktop Linux (Gnome 3, Ubuntu Unity, Docky) usam a propriedade WMClass para associar janelas ao aplicativo proprietário. Muitos aplicativos baseados em Java têm o problema em 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 string que define em qual classe o aplicativo é agrupado no Iniciador Unity na inicialização.

Você pode descobrir qual WM_CLASS sua janela tem quando você digita em 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"

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

    
por chaos 29.10.2013 / 13:51