Apa yang diwakili oleh bidang StartupWMClass dari file .desktop?
Saya sedang mengerjakan file .desktop yang sudah ada ini dan saya ragu:
Isi file adalah:
[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;
Apa sebenarnya yang diwakili oleh bidang StartupWMClass dari file ini?
Jawaban
Lingkungan desktop Linux modern (Gnome 3, Ubuntu Unity, Docky) menggunakan WMClass
properti untuk mengaitkan jendela dengan aplikasi pemilik. Banyak aplikasi berbasis Java memiliki masalah di mana jendela yang dibuat oleh aplikasi tidak terkait dengan pintasan yang digunakan untuk memulai aplikasi (jadi dok berisi banyak salinan dari ikon yang sama).
Jadi bidang yang dipanggil StartupWMClass
adalah string yang menentukan di kelas mana aplikasi dikelompokkan dalam Unity Launcher saat startup.
Anda dapat mengetahui WM_CLASS
jendela mana yang didapat saat Anda mengetik di terminal:
xprop WM_CLASS
lalu klik di jendela. Dalam kasus terminal gnome, hasilnya adalah sebagai berikut:
WM_CLASS(STRING) = "gnome-terminal", "Gnome-terminal"
Jadi semua jendela dengan WM_CLASS
"gnome-terminal" dan "Gnome-terminal" dikelompokkan bersama.