我已经使用了这里给出的答案如何在 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
。