У меня есть приложение на Python, которое ведет себя по-разному. При запуске без аргументов он запускается в режиме CONFIGMODE и отображает графический интерфейс настройки (pygtk). При запуске с аргументом он запускается в APPMODE.
Затем у меня есть два Bash-скрипта (configmode
и appmode
) для запуска. Один запускает мое приложение с аргументами, другой без. Для каждого сценария я создал файл .desktop в ~/.local/share/applications
с разными значками.
Но даже когда я запускаю appmode.desktop
, программа запуска Unity показывает значок из configmode.desktop
.
Я также использую Kupfer
для запуска приложений. И когда configmode
уже запущен, Купфер также думает, что appmode
уже запущен.
Поэтому мне интересно, как Unity и Kupfer определяют, какой файл .desktop
использовать?
Моя цель - увидеть значок из файла .desktop
, который я использовал для запуска в модуле запуска Unity. Как мне этого добиться?
Я думаю, что проблема может быть не в самих файлах рабочего стола, а в любом из следующего: Файл
.ui
: если вы используете файл пользовательского интерфейса, возможно, вы установили свойство 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
, в зависимости от аргументов, передаваемых приложению.
Unity использует BAMF Application Matching Framework . Я не знаю о Купфере.