有没有办法用Python阅读Linux桌面通知?



我需要使用 Python 阅读 Linux Desktop Notification 。我的脑子里没有想法了,我想不出一种方法来做到这一点。

这是我使用 dbus 能做的最好的事情:

import gi.repository.GLib
import dbus
from dbus.mainloop.glib import DBusGMainLoop
def notifications(bus, message):
print(str(message))
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()

似乎这段代码只是从 GLib 返回对象

您在notification中的messagedbus.**.*Message实例不同,因此这就是打印的内容。

尝试for arg in message.get_args_list(): print(arg),您可能会找到您想要的东西。

最新更新