wx.TaskBarIcon в Ubuntu 11.04 - PullRequest
       46

wx.TaskBarIcon в Ubuntu 11.04

3 голосов
/ 22 августа 2011

В Unity нет лотка под Ubuntu 11.04.

Как сделать так, чтобы значок появлялся где-то в Unity?wx.TaskBarIcon не появляется нигде.Спасибо

Ответы [ 3 ]

6 голосов
/ 10 ноября 2011

В среде рабочего стола Ubuntu Unity (т. Е. Ubuntu 11.04 или 11.10) вам необходимо «внести в белый список» ваше приложение.

Существуют разные способы сделать это с помощью приложения «gsettings» из командной строки.

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

4 голосов
/ 22 августа 2011

Лучший ответ дать из официальной документации:

В X Window System оконный менеджер должен поддерживать либо Протокол системного трея от freedesktop.org (WM, используемые на современном настольном компьютере такие среды, как GNOME> = 2, KDE> = 3 и XFCE> = 4, все делают) или старые методы, используемые в GNOME 1.2 и KDE 1 и 2. Если это не так, на рабочем столе пользователя появится значок верхнего уровня.

Поскольку не все оконные менеджеры имеют системный трей, нет гарантии что wxTaskBarIcon будет работать правильно под X Window System и так приложения должны использовать его только как дополнительный компонент своих пользовательский интерфейс. Пользователь должен быть обязан явно включить Значок на панели задач в Unix, он не должен быть включен по умолчанию.

http://docs.wxwidgets.org/stable/wx_wxtaskbaricon.html

Так что это связано с вашим оконным менеджером, а не с программированием wxWidgets. wxTaskbarIcon надежен только под wxMSW, не знаю про mac. Лучше всего избегать этого, если вам нужны настоящие XPlatform-приложения.

0 голосов
/ 10 ноября 2011

Если вы создаете новое приложение, рассмотрите возможность использования более новой библиотеки libappindicator - это преемник Ubuntu для systray, который должен быть совместим как минимум с GNOME 2.x(Я не знаю, поддерживает ли GNOME 3 или KDE отображение уведомлений libappindicator где-либо.)

...