我正在研究这个预先存在的。桌面文件,我有一个疑问:
文件内容为:
[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;
到底是什么启动WMClass此文件的字段代表什么?
答案1
现代 Linux 桌面环境(Gnome 3、Ubuntu Unity、Docky)使用该WMClass
属性将窗口与所属应用程序关联。许多基于 Java 的应用程序都存在这样的问题:应用程序创建的窗口与用于启动应用程序的快捷方式不关联(因此 dock 包含同一图标的多个副本)。
因此,调用的字段StartupWMClass
是一个字符串,它定义应用程序在启动时在 Unity Launcher 中分组到哪个类中。
WM_CLASS
在终端中输入以下命令即可查看你的窗口:
xprop WM_CLASS
然后点击窗口。如果是 gnome 终端,则输出如下:
WM_CLASS(STRING) = "gnome-terminal", "Gnome-terminal"
WM_CLASS
因此所有带有“gnome-terminal”和“Gnome-terminal”的窗口都被分组在一起。
答案2
在采用 Wayland 的新系统上,xprop
该工具将不再起作用。
如果你使用 GNOME Shell,则可以使用内置工具镜子。
按Alt+ F2,输入lg
,然后按Enter。在右上角的面板中,选择“Windows”。
WM_CLASS 将显示在该wmclass
键下。
答案3
附注:请注意Kde/Kwin和韦兰,xprop 将不起作用。
您必须使用qdbus org.kde.KWin /KWin queryWindowInfo
并单击您想要观察的窗口。
WMClass 将位于 resourceClass 属性中。