Там какой-либо путь состоит в том, чтобы 'сцепить' обменивающееся сообщениями меню?

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

Там какой-либо путь состоит в том, чтобы получить уведомление для этого? Я действительно не обеспокоен языком программирования в этом случае - хотя C, Python или PHP были бы предпочтены.

5
задан 7 July 2011 в 20:26

1 ответ

Интересный вопрос. Нет никакого официального API для обнаружения, если обменивающееся сообщениями меню изменилось, это - состояние. Можно сделать это путем рассмотрения интерфейса DBus сервиса сообщений индикатора. Сценарий оболочки путь похож на это:

  $ gdbus call --session --dest com.canonical.indicator.messages --object-path /com/canonical/indicator/messages/service --method com.canonical.indicator.messages.service.AttentionRequested

Существует также сигнал"AttentionChanged". Можно отследить это для определения состояния, поскольку оно обновляет.

Кроме того, если Вы интересуетесь отдельными объектами в обменивающемся сообщениями меню, вся их информация экспортируется с помощью libindicate. Возможно иметь другого libindicate слушателя на DBus, который получает всю информацию и агрегировал ее по-другому.

7
ответ дан 23 November 2019 в 09:09

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

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