#!/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()