Как определить значок для моего приложения на Python в Debian / Ubuntu? - PullRequest
1 голос
/ 21 декабря 2011

У меня есть приложение python (pygtk), которое запускается в разных режимах в зависимости от аргументов.У меня есть скрипт bash для каждого режима приложения:

kadro-reader.sh:

#!/bin/sh
/usr/bin/kadro reader

kadro-gmail.sh:

#!/bin/sh
/usr/bin/kadro gmail

У меня также естьМодуль запуска .desktop для каждого режима:

[Desktop Entry]
Name=Kadro Google Reader
Icon=kadro-reader
Exec=kadro-reader.sh
Categories=Network;
Type=Application

Каждый модуль запуска .desktop определяет свой значок.Но Unity всегда показывает один и тот же значок для всех режимов приложения.

Аналогичная проблема с Kupfer: После того, как я запустил один режим, Kupfer считает, что все другие режимы также работают.

Он показывает Unity (BAMFApplication Matching Framework) и Kupfer не могут связать запущенные процессы с правильным средством запуска .desktop.

Есть ли правильный способ разъяснить debian, какую иконку хочет использовать мой процесс python?

Ответы [ 2 ]

1 голос
/ 21 декабря 2011

(вставка моего ответа в askubuntu.com)

Я думаю, что проблема может быть не в самих файлах рабочего стола, а в любом из следующего:

  • .ui file: если вы используете файл пользовательского интерфейса, возможно, вы установили свойство icon_name для главного окна.В таком случае я бы сказал, что значок в файле .desktop не используется.

  • pygtk код: аналогично случаю файла .ui, вы можетеустановить значок для главного окна, используя gtk.Window.set_icon_name, gtk.Window.set_default_icon_name или аналогичный.

Мой совет - программно установить значок для главного окна, когда приложение запускается с помощью gtk.Window.set_icon_name или gtk.Window.set_default_icon_name в зависимости от аргументов, переданных приложению.

0 голосов
/ 29 марта 2012

Я решил проблему следующим образом:

Я установил свое общее приложение Kadro в виде библиотеки Python. Для каждого режима я создаю свой собственный скрипт на python, который просто вызывает универсальную библиотеку Kadro с правильным параметром.

Теперь Unity и Kupfer показывают правильные значки.

...