Недавно я заметил, что в Ubuntu Unity в верхнем меню моих приложений отображаются не (пользовательские) значки, которые я добавил в набор GTK, а только основные значки GTK.
Это происходит только потому, что верхнее меню отображается в верхней панели единства (appmenu), а не в окне приложения. Вместо правильных пользовательских значков я вижу «gtk-missing-image». На панелях инструментов моих приложений и других меню эти значки отображаются правильно, проблема только в верхнем меню.
Это происходит либо с pygtk2 (например, http://www.giuspen.com/cherrytree/ ), и с самоанализом объекта (например, 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()
Если кто-нибудь решил эту проблему, пожалуйста, помогите. Приветствия, Джузеппе.
Платформа AppIndicator должна знать о значках. Для этого они должны находиться в каталоге тем или в составе пользовательской темы для приложения. Вы можете добавить каталог тем, используя app_indicator_set_icon_theme_path()
. Это позволяет службе индикатора приложения знать, где искать ваши пользовательские значки. Вы также можете установить значки в стандартную тему значков, которая находится в /usr/share/themes/hicolor
.
Наконец, как полный взлом, вы можете генерировать их на лету. Это то, что сделано в indicator-multiload
. Это не рекомендуется, поэтому я не буду ссылаться на него, но если это то, что вам нужно, посмотрите там.