我有一个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(BAMF应用程序匹配框架),而Kupfer无法将正在运行的进程与正确的.desktop启动器相关联。
我是否有正确的方法如何弄清楚debian,我的python进程想要使用哪个图标?
答案 0 :(得分:1)
(在askubuntu.com中粘贴my response)
我认为问题可能不在桌面文件中,而是在以下任何一种情况下:
.ui
file:如果您使用的是用户界面文件,则可能已为主窗口设置了icon_name
属性。在这种情况下,我会说.desktop
文件中的图标没有使用。
pygtk
代码:与.ui
文件情况类似,您可能使用gtk.Window.set_icon_name
,gtk.Window.set_default_icon_name
或类似内容设置了主窗口的图标。< / p>
我的建议是,在使用gtk.Window.set_icon_name
或gtk.Window.set_default_icon_name
启动应用程序时,以编程方式设置主窗口的图标,具体取决于传递给应用程序的参数。
答案 1 :(得分:0)
我已经解决了以下问题:
我已将我的通用Kadro应用程序安装为python库。对于每种模式,我都创建了自己的python脚本,它只使用正确的参数调用通用的Kadro库。
现在Unity和Kupfer展示了正确的图标。