Frage Python-Anwendung hat kein Symbol im Unity-Launcher


Ich habe eine Python-Anwendung geschrieben (mit pygtk und pymozembed), die ich sehr oft benutze.

Im Unity - Bindestrich hat meine Anwendung ein Icon (wie ich es im .desktop Datei). Aber wenn ich es starte, gibt es kein Symbol im Launcher. Nur ein leeres Loch.

Launcher-Datei: /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

Python-Code für die Fensterinitialisierung:

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

Wie füge ich meiner Python-Anwendung ein Unity-Launcher-Symbol hinzu?


4
2017-12-06 13:42


Ursprung


Ist dein Icon ein Png oder Svg? Wo hast du es installiert? Bist du gerannt gtk-update-icon-cache nach der Installation Ihres Symbols? - Timo Kluck
Ich habe meine Frage bearbeitet, um mein konkretes Beispiel hinzuzufügen. - Witek
Machst du einen Site-spezifischen Browser? Weil ich das will. - Ken Kinder
Ich benutze es für Websites wie Facebook oder Google, die versuchen, mich zu verfolgen. Auf diese Weise habe ich einen bestimmten Browser für diese Seiten und mein Standardbrowser ist nicht in diesen Diensten angemeldet. Sie können es hier herunterladen: github.com/witek/kadro/downloads - Witek


Antworten:


Ich glaube nicht Symbol in .desktop Datei nimmt den vollständigen Pfad ein. Ich denke, es braucht den Namen eines Symbols und sucht nach diesem Symbol im aktuellen Icon-Thema.

Versuchen Sie, dieses Symbol zu setzen ~/.icons/google-reader.png und in der .desktop Datei einfach

Icon=google-reader

3
2017-12-08 21:07





Ich habe eine bessere Antwort. Da die beschriebene Lösung die Symbolanwendung zum Dash Unity-Bedienfeld hinzufügt, kann das Symbol in der Anwendung selbst nicht angezeigt werden /usr/share/applications.

Sie müssen nur das Symbol (mit dem im Desktop-Eintrag deklarierten Namen) in der hinzufügen /usr/share/pixmaps/ Verzeichnis. Dies ist das Verzeichnis, in dem alle Anwendungen ihre Symbole platzieren. Auf diese Weise erhalten Sie Ihr Symbol in Dash Unity und auf der Anwendung im Anwendungsordner angezeigt.

Abgesehen davon, dass das derzeit überprüfte Programm funktioniert, müssen Sie einen neuen Ordner in Ihrem Home-Verzeichnis erstellen. Dies ist nicht notwendig, wenn Sie die /usr/share/pixmaps Verzeichnis.


1
2018-02-16 01:18



Meine Anwendung erstellt Startprogramme (vom Benutzer), die benutzerspezifisch sind. Dafür müssen sie in den Benutzern zu Hause sein. Der Benutzer hat auch keine Berechtigungen in / usr / share / pixmaps zu schreiben. - Witek