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

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

我正在研究这个预先存在的。桌面文件,我有一个疑问:

文件内容为:

[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 属性中。

相关内容