Добавление значка в системный трей (область уведомлений) [дубликат]

Возможный дубликат:
Как запрограммировать значок состояния, который будет отображаться в Ubuntu 11.04, а также в других дистрибутивах?

Здравствуйте, У меня есть небольшое приложение для записи звука, запрограммированное с помощью GTK/GDK. (см. рисунок). И я хотел бы добавить для него иконку в трее, чтобы пользователи могли управлять окном приложения и записью из него.

Добавление иконки в трей: Для этой задачи я планировал использовать класс GtkStatusIcon. Ссылка: http://library.gnome.org/devel/gtk/2.11/GtkStatusIcon.html

Является ли GtkStatusIcon рекомендуемым решением, которое также работает в Ubuntu's Unity и в рабочем столе GNOME 3.0? Я уже немного погуглил и нашел хороший пример по GtkStatusIcon.

Могу ли я также использовать Libindicator для этой задачи? Ref: https://launchpad.net/libindicator

5
задан 13 April 2017 в 15:23

1 ответ

GtkStatusIcon не поддерживается в Unity .

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

Кроме того, определение пользовательских значков , как предлагается здесь , не работает в ранних версиях Прикладных индикаторов, используемых в 10.04 LTS.

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

Насколько я вижу, GtkStatusIcons по-прежнему будет поддерживаться при запуске классического рабочего стола GNOME в Ubuntu 11.04, но я не знаю о GNOME3.

0
ответ дан 13 April 2017 в 15:23

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

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