web-dev-qa-db-fra.com

L'application Python n'a pas d'icône dans le lanceur Unity

J'ai écrit une application Python (avec pygtk et pymozembed) que j'utilise très souvent.

Dans le tiret Unity, mon application a une icône (comme je l'ai défini dans le fichier .desktop). Mais quand je le lance, il n'y a pas d'icône dans le lanceur. Juste un trou vide.

Fichier de lancement: /home/witek/.local/share/applications/kadro-reader.desktop

[Desktop Entry]
Name=Google Reader
Comment=Open site with Kadro: reader -> https://www.google.com/reader/view/
Icon=/home/witek/.kadro/sites/reader/icon.png
Exec=/home/witek/.kadro/sites/reader/start.sh
Categories=Network;
Type=Application

Code Python pour l'initialisation de la fenêtre:

win = gtk.Window()
win.set_title("Google Reader")
win.set_icon_from_file("/home/witek/.kadro/sites/reader/icon.png")

Comment ajouter une icône de lanceur Unity à mon application Python?

4
Witek

Je ne pense pas que l'icône dans le fichier .desktop prenne le chemin complet. Je pense qu'il prend le nom d'une icône et recherche cette icône dans le thème d'icônes actuel.

Essayez de mettre cette icône à ~/.icons/google-reader.png et dans le fichier .desktop que vous venez de mettre

Icon=google-reader
3
Owais Lone

Je pense avoir une meilleure réponse. Lorsque la solution décrite ajoute l’icône d’application au panneau Dash Unity, l’icône sur l’application elle-même ne s'affiche pas dans /usr/share/applications.

Il vous suffit d'ajouter l'icône (avec le nom déclaré dans l'entrée du bureau) dans le répertoire /usr/share/pixmaps/. C'est le répertoire où toutes les applications mettent leurs icônes. Ainsi, votre icône s’affiche dans Dash Unity et sur l’application dans le dossier des applications.

Outre que celui qui est actuellement coché fonctionne, vous devez créer un nouveau dossier dans votre répertoire de base. Cela n'est pas nécessaire si vous utilisez le répertoire /usr/share/pixmaps.

1
Antonio