Это не дубликат Как создать индикаторы Unity? , Я ищу индикатор системы, а не индикатор приложения.
Backgound:
Из этих двух вопросов:
- Как добавить или изменить индикаторы приложения / системы на экране входа в систему?
- Как сделать индикатор-системный монитор индикатором по умолчанию на экране входа
Я узнал, что есть два типа индикаторов:
- Система: звук, клавиатура, приложение, ... (попробуйте:
ps ax | grep indicator
) - Приложение: nm-applet, sysmonitor, ... и почти все, что перечислено в разделе Какие индикаторы приложения доступны?
Все индикаторы приложения обрабатываются / показываются индикатором-приложением (системным). Системные индикаторы отображаются непосредственно на панели Unity.
Оба вопроса касаются добавления / удаления индикаторов с экрана входа и блокировки. Первая была простой настройкой (при работе с системными индикаторами). Второй - жесткая настройка (при работе с индикаторами приложения), которая требует изменения источника службы панели (пакет Unity) для экрана блокировки и источника сообщения Unity-Greeter для экрана входа в систему.
Как в случае sysmonitor
, для меня это был обходной путь. Лучшее решение - внедрить системный индикатор вместо прикладного.
Тема:
Существует ли унифицированный API для системных индикаторов (предпочтительно: Python, а затем C / C ++)? Пожалуйста, ознакомьтесь с официальной документацией.
Большинство системных индикаторов написаны на языке программирования Vala. Может ли кто-нибудь написать небольшую демонстрацию системного индикатора с использованием Python или C?
Обновить:
Я нашел несколько ссылок, которые могут дать толчок:
На странице проекта « Индикаторы приложений » были перечислены ссылки на API-интерфейс AppIndicator-0.3 ( C & Python ), используемый для индикаторов приложений.
Они перечислили также API-интерфейс Indicate-0.7 ( C & Python ). Что это?Ну, это канал обмена сообщениями DBus между настольными приложениями.С другой стороны, на странице проекта « Системные индикаторы » они упоминали:
API системного индикатора
Меню сообщений с использованием libindicate.- Звуковое меню с использованием libunity.
Индикатор даты / времени с использованием Evolution-Data-Server
Кажется, они перечисляют API данных, а не API разработки индикаторов, как для Evolution-Data-Server. Но не уверен насчет
libindicate &libunity. Кто-нибудь работал с этими двумя библиотеками?Попробуйте
apt-cache rdepends libunity9 libindicator7 libindicator3-7
посмотреть, какой индикатор передает эти библиотеки.
Update2: это для того, чтобы заинтересованные пользователи были в курсе.
Из того, что я собрал до сих пор, вот порядок возможных решений:
libindicator3-7
(высокий, от этого зависит много показателей)В источнике я нашел несколько тестовых примеров, некоторые фиктивные индикаторы, которые я пробовал, могут быть установлены
/usr/lib/indicators3/7/
, они являются общими lib.so
. Я мог бы отобразить их в разделе «Вход в систему и обычный сеанс», но не на экране блокировки.Однако есть некоторые сервисы тестовых индикаторов, которые похожи на системы Unity. Я еще не пробовал их.
libindicator7
Из того же источника, что и libindicator3-7, из rdepends:
mate-indicator-applet lxpanel-indicator-applet-plugin
Кажется, он используется для создания контейнера для индикаторов на панелях.
libunity9
(низкий)Пока нет исследований
export_action_group
,export_menu_model
) и объекты (SimpleActionGroup
,Menu
) находятся вgi.repository.Gio
. Я постараюсь написать один в ближайшие несколько дней.ПРИМЕЧАНИЕ. Пожалуйста, проверьте нижнюю часть этого поста, чтобы узнать окончательное мнение об этом ответе.
Я не знаю, действительно ли я помогаю, но я надеюсь, что эта идея может быть полезной.
Из того, что я искал, разница в показателях системы и приложения отличается. Имея это в виду, я сейчас представлю сомнительную концепцию:
Идея пришла ко мне при просмотре следующих постов:
https://askubuntu.com/a/234204/408654
https://askubuntu.com/a/42213/408654
Unity API, по-видимому, в первую очередь создан для использования с индикаторами приложений, но как системные индикаторы, так и индикаторы приложений могут использовать аналогичное программирование (язык). Однако вы упомянули ранее, что эти два типа индикаторов обрабатываются двумя разными системами. Поэтому я приступил к прочтению одного из ваших источников:
Как добавить или изменить индикаторы приложения / системы на экране входа в систему?
Основной ответ заключался в переопределении уже существующего пользователя, чтобы получить доступ, который ему необходим. Он также предоставил решение для добавления и удаления всех существующих индикаторов. Это единое решение для управления индикаторами. Можно ли переопределить пользователя по умолчанию (существовавшего ранее) для запуска / введения системного индикатора?
В ответ на эту часть вашего запроса:
К сожалению, однако, нет никакого способа использовать API индикатора приложения для системных индикаторов. Таким образом, мое решение недействительно :(
источник