「GNOME」- 关于选项 Add to Favorites 显示问题

问题

当我们打开应用程序之后,在 GNOME 的 Dock 中,将显示应用图标。在应用图标上右键,将显示 Add to Favorites 选项,已将图标固定在 Dock 上,方便下次打开。

但是,有些应用程序却没有 Add to Favorites 选项(比如 Eclipse 应用)。或者在启动应用后,任务栏显示新的图标,而不是显示在已有图标之上。

原因

窗口的 WM_CLASS 属性,与在 .desktop 中的 StartupWMClass 属性不匹配。

补充说明

目前(05/31/2021),通过 StartupWMClass 字段并不能指定多个 WM_CLASS 属性,网上给出的解决方案是对窗口进行重命名(12.10 – Set Multiple values for StartupWMClass (to group under same launcher in Unity) – Ask Ubuntu),或者其他 Workaround 解决。

解决

我们这里以 Eclipse 窗口为例:

第一步,执行 xprop WM_CLASS 获取窗口的 WM_CLASS 属性:

# xprop WM_CLASS
WM_CLASS(STRING) = "Eclipse", "Eclipse"

第二步、修改 Eclipse 的 .desktop 文件的 StartupWMClass 属性:

# eclipse.desktop
...
StartupWMClass=Eclipse
...

至此,问题就得以解决(需要重启 Eclipse 之后才显示)。

参考

gnome shell – Cannot add custom launcher to Ubuntu Dock (‘Add to Favorites’ option does not show up) – Ask Ubuntu
Duplicate icons for manually created GNOME launcher items – Ask Ubuntu

针对 AppImage 应用

Wayland https://discourse.nixos.org/t/change-wmclass-for-appimages-launched-with-apprun-with-gnome/30766

通过 –name 选项,来定义 StartupWMClass 参数:

[Desktop Entry]
...
Exec=/home/k4nzdroid/.local/opt/Navicat/navicat-16.1.7-premium-en-patched.AppImage --name OursNavicatPremium16
...
StartupWMClass=OursNavicatPremium16
...

相关链接