.desktop文件的StartupWMClass字段代表什么?


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字段究竟代表什么?

Answers:


94

现代Linux桌面环境(Gnome 3,Ubuntu Unity,Docky)使用该WMClass属性将Windows与拥有的应用程序关联。许多基于Java的应用程序都有一个问题,即由应用程序创建的窗口与用于启动该应用程序的快捷方式不相关(因此,扩展坞包含同一图标的多个副本)。

因此,调用的字段StartupWMClass是一个字符串,它定义了启动时应用程序在Unity Launcher中分组的类别。

WM_CLASS键入终端时,您可以找到窗口所在的窗口:

xprop WM_CLASS

然后单击窗口。对于gnome终端,输出如下:

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

因此,所有带有WM_CLASS“ gnome-terminal”和“ Gnome-terminal”的窗口都组合在一起。


3
我发现链接到官方Freedesktop的规范网页,但它不添加大量的信息有用:standards.freedesktop.org/desktop-entry-spec/latest/...
皮塑

1
答案更多:不要在桌面文件的值中使用引号。
小丑
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.