Как создать значок индикатора приложения в Ubuntu 14+ без использования libappindicator?

Я пытаюсь написать простые приложения для настольных компьютеров на PHP и wxWidgets, используя wxPHP . После некоторых значительных усилий (и более 20 минут времени компиляции) для создания модуля PHP wxwidgets.so я решил начать с простого индикатора состояния. Я использую PHP 5.5.9 на Ubuntu 14.04 LTS.

Я задал вопрос о Переполнении стека , и я жду дополнительного исследования, пока жду ответов. Оказывается, что это не так просто в последних версиях Ubuntu, так как (а) версии после 11.x оперировали белым списком , позволяющим появляться обычным значкам wxTaskBarIcon, и (b) начиная с 13.10 wxTaskBarIcon значки вообще не отображаются, а Ubuntu требует особого обращения.

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

Я вижу из . Спросите Ubuntu , что на есть вопросы, как найти PID значков текущего состояния , и , как добавить пункты меню в сессию (" cog ") applet . Оба они используют вызовы DBus из командной строки. Заметно, что есть вопрос о , чего именно я хочу достичь , но ответы опираются на libappindicator, для которого в PHP нет привязок.

Поэтому я думаю, что должны быть вызовы DBus, которые я могу сделать из консоли (и, следовательно, также из приложения PHP), но документация для этого находится где-то между тонкой и несуществующей. Я пытался просматривать различные элементы исходного кода на GitHub, но, если не считать нескольких командных строк freedesktop.org, я не знаю, что именно ищу. Я также рисую бланк с официальной документацией , если я не пропускаю что-то действительно очевидное.

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


Редактировать: Я добавил ответ на свой вопрос о переполнении стека, указав, что в настоящее время наилучшим доступным решением является создание отдельного индикаторного приложения в Python и открытие канала связи между ним и приложением wxPHP.

Тем не менее, я буду держать этот вопрос открытым, поскольку он немного отличается - как достичь тех же целей, из PHP, используя DBus. (Я ожидаю, что смогу решить, как отправлять сообщения DBus на PHP, но мне нужен формат).

1
задан 23 May 2017 в 15:39

0 ответов

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

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