Я создаю скрипт на Python для интеграции Pidgin с Unity (12.04), мне удалось сделать подсчет уведомлений с помощью Launcher API . Но я не знаю, какое событие или сигнал активируется, когда окно разговора получает фокус (для очистки счетчика сообщений). Я пробовал некоторые сигналы, доступные в документации Пиджина , но ни один из них не работал. Есть ли какое-либо событие GTK (или что-нибудь еще), которое запускается, когда окно чата становится фокусом?
Отказ от ответственности: я не тестировал этот метод strike>
Я вижу, что вы уже освещаете часть, касающуюся API Launcher, если нет, то она очень похожа на то, что вы уже сделали.
Об интеграции Pidgin, изучая API, я обнаружил, что Pidgin уведомляет через DBus практически обо всем, что происходит с клиентом.
Внимательно посмотрев, вы можете увидеть список доступных сигналов. Одним из них является связанный с беседой . Одним из них является сигнал conversation-updated
. Подробно:
Описание: Издается при обновлении разговора.
Параметры:
blockquote>
conv: Обновленный диалог.
type: Тип обновления, которое было выполнено
Изучите типы обновлений , которые могут поступать с этим сигналом. найти
PURPLE_CONV_UPDATE_UNSEEN
, который срабатывает при обновлении невидимого состояния.Итак, теперь все, что вам нужно сделать, это адаптировать свой код для обработки этого сигнала.
Редактировать:
Я проверил метод, и он работает. В этот pastebin - мой пример кода, если вы хотите взглянуть.