Что представляет собой поле StartupWMClass файла.desktop?
Я работаю над этим уже существующим файлом .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 этого файла?
Tnx
Andrea
3 ответа
Современные среды рабочего стола 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
"Гном-терминал" и "Гном-терминал" сгруппированы вместе.
В более новых системах с Wayland,xprop
инструмент больше не будет работать.
Если вы используете GNOME Shell, вы можете использовать встроенный инструмент Looking Glass.
Нажмите Alt+ F2, введитеlg
и нажмите Enter. В верхней правой панели выберите «Windows».
WM_CLASS будет отображаться подwmclass
ключ.
Кстати, обратите внимание, что под Kde/Kwin и wayland xprop не будет работать.
Вам придется использоватьqdbus org.kde.KWin /KWin queryWindowInfo
и нажмите на окно, которое вы хотите наблюдать.
WMClass будет в атрибуте resourceClass.