应用程序自定义库存图标在 ubuntu unity 顶部面板菜单(又名 appmenu)中不起作用(“菜单有图标”开启)

应用程序自定义库存图标在 ubuntu unity 顶部面板菜单(又名 appmenu)中不起作用(“菜单有图标”开启)

我最近注意到,在 ubuntu unity 中,我的应用程序的顶部菜单没有显示我添加到 gtk 库存的(自定义)图标,而只显示基本的 gtk 库存图标。

这种情况发生只是因为顶部菜单显示在 Unity 顶部面板 (appmenu) 中,而不是在应用程序窗口中。在正确的自定义图标的位置,我看到了“gtk-missing-image”。在我的应用程序工具栏和其他菜单上,这些图标显示正确,问题只出在顶部菜单上。

这发生在 pygtk2 上(例如http://www.giuspen.com/cherrytree/)和 gobject 自省(例如http://www.giuspen.com/nautilus-pyextensions/)我使用 gtk ui manager 集成库存图标后,如下图所示:

factory = gtk.IconFactory()
pixbuf = gtk.gdk.pixbuf_new_from_file(filepath)
iconset = gtk.IconSet(pixbuf)
factory.add(stock_name, iconset)
factory.add_default()

如果有人解决了这个问题请帮忙。谢谢,Giuseppe。

答案1

AppIndicator 框架需要了解图标。为此,它们需要位于主题目录中,或应用程序自定义主题的一部分。您可以使用 添加主题目录app_indicator_set_icon_theme_path()。这允许应用程序指示器服务知道在哪里查找您的自定义图标。您还可以在位于 的默认图标主题中安装图标/usr/share/themes/hicolor

最后,作为一个完全的 hack,你可以即时生成它们。这就是 所做的indicator-multiload。不推荐这样做,所以我不会链接到它,但如果你需要的话,可以去那里看看。

相关内容