Que représente le champ StartupWMClass d'un fichier .desktop?

Oct 28 2013

Je travaille sur ce fichier .desktop préexistant et j'ai un doute:

Le contenu du fichier est:

[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;

Que représente exactement le champ StartupWMClass de ce fichier?

Réponses

118 chaos Oct 29 2013 at 12:51

Les environnements de bureau Linux modernes (Gnome 3, Ubuntu Unity, Docky) utilisent la WMClasspropriété pour associer des fenêtres à l'application propriétaire. De nombreuses applications Java ont le problème où les fenêtres créées par l'application ne sont pas associées au raccourci utilisé pour démarrer l'application (le dock contient donc plusieurs copies de la même icône).

Ainsi, le champ appelé StartupWMClassest une chaîne qui définit dans quelle classe l'application est regroupée dans Unity Launcher au démarrage.

Vous pouvez découvrir ce WM_CLASSque possède votre fenêtre lorsque vous tapez dans un terminal:

xprop WM_CLASS

puis cliquez sur la fenêtre. Dans le cas du terminal gnome, la sortie est la suivante:

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

Ainsi, toutes les fenêtres avec WM_CLASS"gnome-terminal" et "Gnome-terminal" sont regroupées.