¿Qué representa el campo StartupWMClass de un archivo .desktop?

69

Estoy trabajando en este archivo .desktop preexistente y tengo una duda:

El contenido del archivo es:

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

¿Qué representa exactamente el campo StartupWMClass de este archivo?

AndreaNobili
fuente

Respuestas:

95

Los entornos de escritorio modernos de Linux (Gnome 3, Ubuntu Unity, Docky) usan la WMClasspropiedad para asociar ventanas con la aplicación propietaria. Muchas aplicaciones basadas en Java tienen el problema de que las ventanas creadas por la aplicación no están asociadas con el acceso directo utilizado para iniciar la aplicación (por lo que el dock contiene varias copias del mismo icono).

Por lo tanto, el campo llamado StartupWMClasses una cadena que define en qué clase se agrupa la aplicación en Unity Launcher al inicio.

Puede averiguar cuál es WM_CLASSsu ventana cuando escribe un terminal:

xprop WM_CLASS

y luego haga clic en la ventana. En el caso del terminal gnome, la salida es la siguiente:

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

Por lo tanto, todas las ventanas con WM_CLASS"gnome-terminal" y "Gnome-terminal" se agrupan.

caos
fuente
3
Me resulta útil vincular a la página oficial de especificaciones de FreeDesktop, aunque no agrega mucha información: standards.freedesktop.org/desktop-entry-spec/latest/…
Pisu
1
Más a la respuesta: no use comillas en el valor del archivo de escritorio.
bromista