在 Dock 上创建了同一应用程序的重复图标,但没有找到 WM_class

在 Dock 上创建了同一应用程序的重复图标,但没有找到 WM_class

我遵循了此答案中的所有步骤:https://askubuntu.com/a/975230/719469

但是,当我xprop WM_CLASS在终端中运行并单击我的应用程序窗口时,它会给我:WM_CLASS: not found.我应该怎么做才能在 Ubuntu Dock 上获取该应用程序的单个图标?

启动器上 Recoll 的图标重复

我所说的应用程序是 Recoll,使用 安装apt-get install recoll。我正在使用 Ubuntu 18.04 (Xorg)。

文件的内容.desktop/usr/share/applications

[Desktop Entry]
Categories=Utility;Filesystem;Database;
Comment=Find documents by specifying search terms
Exec=recoll
GenericName=Local Text Search
Icon=recoll
Name=Recoll
Terminal=false
Type=Application
Keywords=Search;Full Text;

编辑:

我尝试.desktop通过以下更改来更改文件行

Exec=recoll --class CustomClassName

然后添加行

StartupWMClass=CustomClassName

执行此操作后,应用程序无法从其图标启动,我仍然进入WM_CLASS: not found.终端

答案1

对于类似的情况我必须执行以下操作:

  1. 确定类别,如新答案中所述相关问题

    简要地:

    • 打开应用程序
    • AltF2,写入lgEnter,进入Windows菜单(右上方)。
    • 在列表中找到该应用程序并记下其wmclass
    • 关闭 lgESC和应用程序
  2. 添加Class.desktop常见文件中:/usr/share/applications.local/share/applications

    StartupWMClass=classSeenInPreviousStep
    
  3. 将图标保留在收藏夹中(添加到菜单)

    • 打开应用程序,right button在图标中,‘Pin to Dash’(添加到收藏夹)。

    • 或者:打开dconf-editor、搜索favorite-apps、添加.desktop文件到列表。

    • 或者:粘贴此内容以创建用于此目的的脚本

      cat >addToMenu.sh <<'EOL'
      #!/usr/bin/env bash
      STATE=`gsettings get org.gnome.shell favorite-apps`
      STATE=$(sed 's/]/,'\ \'YOURAPP.desktop\'']/g' <<< $STATE)
      gsettings set org.gnome.shell favorite-apps "${STATE}"
      EOL
      
      #  Run it:
      sudo apt install gnome-shell-extensions
      bash addToMenu.sh
      
    • 收藏夹故障排除:

      • 在文件中查找带有或 的.desktop行,然后删除该行OnlyShowIn=...NotShowIn=...
      • 检查.desktop文件Terminal=false
      • .desktop中的文件/var/lib/snapd/desktop/applications 可能需要复制到~/.local/share/applications

相关内容