创建功能齐全的桌面快捷方式(可以在“显示应用程序”中找到,添加到收藏夹,以及与锚定图标结合的运行窗口)

创建功能齐全的桌面快捷方式(可以在“显示应用程序”中找到,添加到收藏夹,以及与锚定图标结合的运行窗口)

看似微不足道的任务,但让它完全发挥作用确实并不简单。如今在Ubuntu上的Gnome中,如何正确创建桌面快捷方式,以便

  • 可以在 Gnome 的“显示应用程序”中找到
  • 右键单击时会显示“添加到收藏夹”并添加到收藏夹
  • 运行时以组合方式显示在仪表板上,以便锚定的收藏夹图标与正在运行的应用程序窗口组合在一起

例如,对于 Intellij IDEA 来说,这并不是一件容易的事。

答案1

您有两件事需要对齐:WM_CLASS与桌面文件名和StartWMClass与可执行文件名称。尽管两者都有WM名称,但它们具有不同的价值。这给我带来了很多困惑。

  1. 运行您的应用程序,运行xprop并单击应用程序窗口。搜索WM_CLASS线路。对于 Intellij IDEA 来说,它是jetbrains-idea-ce.只取两者中的一个值。
WM_CLASS(STRING) = "jetbrains-idea-ce", "jetbrains-idea-ce"
  1. 创建一个.desktop以它命名的文件,jetbrains-idea-ce.desktop.
  2. 将这些行放入其中:
[Desktop Entry]
Terminal=false
Type=Application
Name=Intellij IDEA
Exec=/opt/idea-IC-211.7142.45/bin/idea.sh
Icon=/opt/idea-IC-211.7142.45/bin/idea.svg
StartupWMClass=idea.sh

请注意,文件名与WM_CLASS行值匹配,StartupWMClass应该与可执行文件名称idea.sh.另一个例子是gnome-connection-manager,您在其中放置.py文件名,而不是整个命令。

[Desktop Entry]
...
Exec=python3 /opt/gnome-connection-manager-1.2.1/gnome_connection_manager.py
...
Name[en]=Gnome Connection Manager
StartupWMClass=gnome_connection_manager.py

此步骤将把最喜欢的锚定图标与正在运行的应用程序窗口结合起来。

  1. 将你的jetbrains-idea-ce.desktop放入/usr/share/applications.然后,您可以在 中找到它Show Applications。但现在如果你右键单击它,你还不能将其添加到收藏夹。

  2. 现在也把它放进去~/.local/share/applications。然后现在就可以添加到收藏夹了。

我不知道为什么这必须如此复杂。

相关内容