36 lines
961 B
Python
Executable File
36 lines
961 B
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
import dbus
|
|
import dbus.mainloop.glib
|
|
from gi.repository import GLib
|
|
|
|
def new_mail_signal(display_name, new_count, *args):
|
|
# Extraer los valores de las estructuras
|
|
mailbox = display_name[0] if isinstance(display_name, dbus.Struct) else display_name
|
|
count = new_count[0] if isinstance(new_count, dbus.Struct) else new_count
|
|
|
|
print(f"Nuevo correo en: {mailbox}. Correos nuevos: {count}")
|
|
|
|
def main():
|
|
# Configurar el loop de D-Bus
|
|
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
|
|
|
|
# Conectarse al bus de sesión
|
|
bus = dbus.SessionBus()
|
|
|
|
# Suscribirse a la señal de nuevo correo
|
|
bus.add_signal_receiver(
|
|
new_mail_signal,
|
|
dbus_interface="org.gnome.evolution.mail.dbus.Signal",
|
|
signal_name="Newmail",
|
|
path="/org/gnome/evolution/mail/newmail"
|
|
)
|
|
|
|
# Ejecutar el loop principal
|
|
loop = GLib.MainLoop()
|
|
loop.run()
|
|
|
|
if __name__ == "__main__":
|
|
main()
|
|
|