使用桌面图标来运行应用程序

使用桌面图标来运行应用程序

我已经使用了这里给出的答案如何在 Unity 中创建桌面快捷方式?为 spacemacs 设置自定义应用程序快捷方式。虽然快捷方式用于启动应用程序,但在运行时,Emacs 图标会弹出并用于选择程序等。这与 Evince 等普通应用程序不同,其中运行图标和启动图标是相同的。

示例图像

是否可以让自定义图标的行为与 Evince 和其他普通程序图标相同?我正在使用 Ubuntu 15.10。

文件内容spacemacs.desktop

[Desktop Entry]
Name=Spacemacs
GenericName=Text Editor
Comment=Edit text
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/xc++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascaltext/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
Exec=emacs %F
Icon=/home/varunubuntu/.emacs.d/core/banners/img/spacemacs.png
Type=Application
Terminal=false
Categories=Development;TextEditor;
StartupWMClass=Emacs

编辑:经过几条评论后澄清一下:对我来说,理想的行为是 Emacs 图标不应弹出,并且 Spacemacs 图标(手动输入)的行为应与 Evince 图标相同。

答案1

此行StartupWMClass=Emacs不正确。应为:

StartupWMClass=emacs24

或者

StartupWMClass=Emacs24

你可以通过打开终端窗口来找到答案,输入

xprop WM_CLASS

然后点击你的应用程序窗口

答案2

给未来的 Google 用户的一个提示:为了在 Gnome 3 中实现此功能,我还必须删除/usr/share/applications/Emacs24.desktop使用相同 的文件WM_CLASS。如果我不这样做, 中的那个文件/usr/share似乎会优先于 中的新桌面文件~/.local/share/applications/Spacemacs.desktop

相关内容