Я написал приложение на Python (с pygtk и pymozembed), которое использую очень часто.
В приложении Unity есть значок (как я определил в файле .desktop
). Но когда я его запускаю, в лаунчере нет иконки. Просто пустая дыра.
Файл запуска: /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 для инициализации окна:
win = gtk.Window()
win.set_title("Google Reader")
win.set_icon_from_file("/home/witek/.kadro/sites/reader/icon.png")
Как добавить значок запуска Unity в мое приложение Python?
Я не думаю, что значок в файле .desktop
занимает полный путь. Я думаю, что он берет имя иконки и ищет ее в текущей теме иконок.
Попробуйте поместить этот значок в ~/.icons/google-reader.png
, а в файле .desktop
просто поместите
Icon=google-reader
. У меня есть, я думаю, лучший ответ. Поскольку описанное решение добавляет приложение значков на панель Dash Unity, оно не отображает значок самого приложения в /usr/share/applications
.
Вам нужно только добавить значок (с именем, объявленным в записи рабочего стола) в каталог /usr/share/pixmaps/
. Это каталог, в который все приложения помещают свои значки. Таким образом, ваш значок отображается в Dash Unity и в приложении в папке приложений.
Помимо того, что проверенный в данный момент работает, он требует, чтобы вы создали новую папку в вашем домашнем каталоге. В этом нет необходимости, если вы используете каталог /usr/share/pixmaps
.