On Tue, 5 May 2009, Dmitry E. Oboukhov wrote:
Сам вижу, что некрасиво, но лучше выдумать не смог. 1) Явно, что это ноутбучная штучка, так что локальные X должны быть. А что если их два?2) Пользователь один, что опять же не факт. А как бы проверить кто на DISPLAY=0:0 сидит?VW> Вот для решения этой проблемы и придумали D-Bus. Чтобы не разбираться от VW> какого юзера, да есть ли у него X-ы да и вообще. Чтобы из обработчика VW> события не глядя VW> слать сообщения в system bus. А кому интересно - их слушает и VW> предпринимает действия, требующие взаимодействия с пользователем. интересно. а права доступа на сообщения оно (dbus) умеет? а стандартизация сообщений уже есть? то есть где почитать про то что надо слушать чтобы поймать скажем закрытие ноута? и будет ли это решение работать в любой системе с dbus?
В данном случае dbus излишен. Уже имеется /var/run/acpid.socket. Надо взять, например, acpi_listen.c (пакет acpid), добавить филтер для нужных событий и прикрутить всё это к xbattbar :). Правда, я что-то не очень понимаю насколько одинаков вид этих самых событий на разных машинах, но наверное более-менее стандартен. Ю.

