进程和 .desktop 启动器(识别)

进程和 .desktop 启动器(识别)

我有一个 Python 应用程序,它有两种不同的行为方式。当不带参数启动时,它会在 CONFIGMODE 中运行并显示配置 GUI (pygtk)。当带参数启动时,它会在 APPMODE 中运行。

然后我要启动两个 Bash 脚本(configmodeappmode)。一​​个脚本使用参数启动我的应用程序,另一个则不带参数。对于每个脚本,我都创建了一个~/.local/share/applications带有不同图标的 .desktop 文件。

但即使在我启动appmode.desktopUnity 启动器时也会显示来自 的图标configmode.desktop

我也使用Kupfer它来启动应用程序。当configmode已在运行时,Kupfer 也认为appmode已在运行。

因此,我想知道 Unity 和 Kupfer 如何识别.desktop要使用哪个文件?

我的目标是在 Unity 启动器中看到用于启动的文件的图标.desktop。我该如何实现?

答案1

Unity 使用BAMF 应用匹配框架. 我不知道库普弗的事。

答案2

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

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

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

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

相关内容