Appindicator Theme Зависимые иконки

Я занимаюсь разработкой приложения PyGTK с помощью appindicator. Я создаю свой appindicator аналогично, как в этом примере. В этом примере используется значок акции «Индикатор-сообщения».

Итак, я могу:

  1. использовать значок акции (из существующей темы)
  2. создать пользовательский значок

Вопрос в том, если я использую стоковая иконка, как я могу определить, какие пиктограммы доступны (это совместимо во всех ОС, предоставляется ли оно GTK)? Будет ли это вести себя одинаково в разных дистрибутивах Linux?

Или, если я создаю пользовательский значок, как я могу определить, какая тема активна (полагаю, мне нужна версия с темным и светлым значком) и отобразить соответствующий значок? Что с другими темами, похоже, что их сложно поддерживать?

На http://unity.ubuntu.com/projects/appindicators/ написано «Значки на панели Themable - Вы можете установить определенный значок в качестве значка панели для индикатора: это должно упростить создание одноцветных значков панели для светлых и темных тем. " но это не говорит о том, как этого добиться?

Я обнаружил Погодный индикатор делает это, но я думаю, с помощью стандартных значков.

1
задан 10 January 2012 в 21:47

2 ответа

Для части Stock ICons я нашел это из центра разработки gnome,

элемент stock имеет структуру типа GtkStockItem.

struct GtkStockItem {
  gchar *stock_id;
  gchar *label;
  GdkModifierType modifier;
  guint keyval;
  gchar *translation_domain;
};

здесь у каждой позиции есть идентификатор акции, этот же идентификатор акции отображается на значок из GtkIconFactory, см. Это в документации gnome:

Каждый идентификатор акции может быть связан с GtkStockItem, который содержит видимую пользователю метку, ускоритель клавиатуры и домен перевода элемента меню или панели инструментов; и / или с иконкой, хранящейся в GtkIconFactory

Связь между GtkStockItem и стоковыми иконками является чисто традиционной (благодаря использованию одного и того же идентификатора акции); можно зарегистрировать товар, но без значка, и наоборот. Иконки акций могут иметь вариант RTL, который используется для языков справа налево.

Для получения дополнительной информации вы можете сослаться на этот

Извините, что опубликовал его как 2-й ответ, а не как комментарий, я не смог набрать такой длинный текст в комментариях.

0
ответ дан 10 January 2012 в 21:47

Что касается вашей части вопроса:

, если я создаю пользовательский значок, как я могу определить, какая тема активна (полагаю, мне нужна версия с темным и светлым значком) и отобразить соответствующий значок ? Что с другими темами, похоже, что их сложно поддерживать?

вы можете использовать свойство «gtk-theme-name», определенное в классе GtkSettings, чтобы получить имя темы, которая в данный момент используется. активен.

Для получения дополнительной информации для GtkSettings проверьте этот

0
ответ дан 10 January 2012 в 21:47

Другие вопросы по тегам:

Похожие вопросы: