web-dev-qa-db-fra.com

Utiliser l'icône du bureau pour exécuter l'application

J'ai utilisé les réponses données ici Comment créer un raccourci sur le bureau dans Unity? pour définir un raccourci d'application personnalisé pour spacemacs. Tandis que le raccourci fonctionne pour lancer l'application, lors de l'exécution, l'icône Emacs apparaît et est utilisée pour sélectionner le programme, etc. Ceci est différent des applications ordinaires telles que Evince où l'icône en cours d'exécution et l'icône de lancement sont identiques.

Example_image

Est-il possible d’obtenir que l’icône personnalisée se comporte de la même manière que Evince et d’autres icônes de programme ordinaires? J'utilise Ubuntu 15.10.

Contenu du fichier 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

EDIT: Pour clarifier après quelques commentaires: le comportement idéal pour moi serait que l'icône Emacs ne s'affiche pas et que l'icône Spacemacs à la main) doit se comporter de manière identique à l’icône Evince.

3
cutculus

La ligne StartupWMClass=Emacs est incorrecte. CA devrait etre:

StartupWMClass=emacs24

ou

StartupWMClass=Emacs24

Vous pouvez le savoir en ouvrant une fenêtre de terminal, tapez

xprop WM_CLASS

puis cliquez sur la fenêtre de votre application

2
Jacob Vlijm

Une note pour les futurs utilisateurs: Pour que cela fonctionne dans Gnome 3, je devais également supprimer le fichier /usr/share/applications/Emacs24.desktop qui utilisait le même WM_CLASS. Si je ne le faisais pas, celui de /usr/share semblerait avoir priorité sur mon nouveau fichier de bureau dans ~/.local/share/applications/Spacemacs.desktop.

0
freidrichen