如何在Debian/Ubuntu中为python应用程序定义一个图标?

2024-10-02 00:21:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python(pygtk)应用程序,它根据参数以不同的模式启动。对于每个应用程序模式,我都有一个bash脚本:

卡德罗-读者.sh以下内容:

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

卡德罗-电子邮件.sh以下内容:

^{pr2}$

对于每种模式我都有一个.desktop启动器:

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

每个桌面启动器都定义了一个不同的图标。但是Unity总是为所有应用程序模式显示相同的图标。在

与Kupfer类似的问题:在我启动了一个模式之后,Kupfer认为所有其他模式也在运行。在

它seams Unity(BAMF应用程序匹配框架)和Kupfer无法将正在运行的进程与正确的桌面启动器相关联。在

有没有一个正确的方法可以让debian明白,我的python进程想要使用哪个图标?在


Tags: 脚本bash应用程序参数bin进程sh模式
2条回答

我已经解决了如下问题:

我已经将我的通用Kadro应用程序安装为python库。对于每种模式,我创建自己的python脚本,它只使用正确的参数调用通用的Kadro库。在

现在Unity和Kupfer显示了正确的图标。在

(将my response粘贴到askubuntu.com网站)在

我认为问题可能不在桌面文件本身,而是在以下任何一个方面:

  • .ui文件:如果您使用的是用户界面文件,您可能已经为主窗口设置了icon_name属性。在这种情况下,我认为.desktop文件中的图标没有使用。

  • pygtk代码:与.ui文件类似,您可能已经使用gtk.Window.set_icon_namegtk.Window.set_default_icon_name或类似的设置主窗口的图标。

我的建议是,根据传递给应用程序的参数,使用gtk.Window.set_icon_name或{}启动应用程序时,以编程方式设置主窗口的图标。在

相关问题 更多 >

    热门问题