Как читать уведомления, используя DBus и Python 3 - PullRequest
0 голосов
/ 27 марта 2019

Я разрабатывал простое приложение, которое читает уведомления из DBus и делает некоторые вещи после его получения.

Это оказалось головной болью, поэтому я делюсь своим кодом со всеми вами.

1 Ответ

1 голос
/ 27 марта 2019
import gi.repository.GLib
import dbus
from dbus.mainloop.glib import DBusGMainLoop

def notifications(bus, message):
    # do your magic

DBusGMainLoop(set_as_default=True)

bus = dbus.SessionBus()
bus.add_match_string_non_blocking("eavesdrop=true, interface='org.freedesktop.Notifications', member='Notify'")
bus.add_message_filter(notifications)

mainloop = gi.repository.GLib.MainLoop()
mainloop.run()
...