Cosa rappresenta il campo StartupWMClass di un file .desktop?


69

Sto lavorando a questo file .desktop preesistente e ho un dubbio:

Il contenuto del file è:

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

Cosa rappresenta esattamente il campo StartupWMClass di questo file?

Risposte:


95

I moderni ambienti desktop Linux (Gnome 3, Ubuntu Unity, Docky) utilizzano la WMClassproprietà per associare Windows alla propria applicazione. Molte applicazioni basate su Java hanno il problema che le finestre create dall'applicazione non sono associate al collegamento utilizzato per avviare l'applicazione (quindi il dock contiene più copie della stessa icona).

Quindi il campo chiamato StartupWMClassè una stringa che definisce in quale classe è raggruppata l'applicazione in Unity Launcher all'avvio.

Puoi scoprire quale WM_CLASSfinestra ha quando digiti un terminale:

xprop WM_CLASS

e quindi fai clic sulla finestra. Nel caso del terminale gnome l'uscita è la seguente:

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

Quindi tutte le finestre con WM_CLASS"gnome-terminal" e "Gnome-terminal" sono raggruppate insieme.


3
Trovo utile il collegamento alla pagina delle specifiche ufficiali di FreeDesktop, anche se non aggiunge molte informazioni: standards.freedesktop.org/desktop-entry-spec/latest/…
Pisu,

1
Altro per la risposta: non utilizzare la quotazione nel valore del file desktop.
Joker
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.