Что представляет собой поле StartupWMClass файла .desktop?


69

Я работаю над этим уже существующим файлом .desktop, и у меня есть сомнения:

Содержание файла:

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

Что именно представляет поле StartupWMClass этого файла?

Ответы:


95

Современные среды рабочего стола Linux (Gnome 3, Ubuntu Unity, Docky) используют это WMClassсвойство, чтобы связать окна с приложением-владельцем. Многие Java-приложения имеют проблему, когда окна, созданные приложением, не связаны с ярлыком, используемым для запуска приложения (поэтому док-станция содержит несколько копий одного и того же значка).

Таким образом, вызываемое поле StartupWMClassявляется строкой, которая определяет, в какой класс приложение группируется в Unity Launcher при запуске.

Вы можете узнать, какое у WM_CLASSвас окно при вводе в терминале:

xprop WM_CLASS

а затем нажмите на окно. В случае терминала gnome вывод выглядит следующим образом:

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

Таким образом, все окна с WM_CLASS«gnome-терминал» и «Gnome-терминал» сгруппированы вместе.


3
Я считаю полезной ссылку на официальную страницу спецификаций FreeDesktop, хотя она не добавляет много информации: standard.freedesktop.org/desktop-entry-spec/latest/…
Pisu

1
Больше к ответу: не используйте кавычки в значении файла рабочего стола.
Джокер
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.