2012-07-01 26 views
6

Parece que hay una clara falta de documentación del módulo GObjects para el pitón en el momento, por lo que tal vez alguien me puede ayudar.Envío de notificaciones con GObjects

Estoy creando una aplicación que de vez en cuando tendrá que notificar al usuario de que ha ocurrido un evento. He encontrado sobre el uso de from gi.repository import Notify y las clases relacionadas de usar un fragmento corto para notificaciones de skype y la documentación de C, pero parece que no se cierra cuando llamo Notify.uninit. El programa se cierra, pero la pequeña ventana de notificación se queda y se debe cerrar haciendo clic derecho sobre ella y seleccionando "Eliminar". Entonces, me pregunto si tal vez haya otra manera, como si hubiera algo similar a cómo en Mac OS el icono de la aplicación vibra/rebota cuando sucede algo o en Windows, el icono de la aplicación brilla de otro color.

Me gusta el sistema de notificación Gnome 3 con la pila de mensajes y tal, pero como no puedo hacer que desaparezca cuando se cierra mi aplicación, realmente no quiero usarla (a menos que alguien sepa cómo hacerlo correctamente haga esto ... puede ser que olvidé establecer un tiempo de espera, pero eso todavía no tiene sentido en cuanto a por qué no puedo hacer desaparecer el punto de notificación).

Respuesta

6

Calling Notify.uninit no se supone que hace desaparecer las notificaciones, sólo dice libnotify que ya no será necesario para su aplicación. Para hacer que las notificaciones desaparezcan, debe cerrarlas explícitamente como en el siguiente ejemplo:

import time 
from gi.repository import Notify 

Notify.init('myapp') 

# optionally set an icon as the last argument 
n = Notify.Notification.new('summary text', 'body text', "dialog-information") 
n.show() 

# do whatever your application is doing 
time.sleep(10) 

n.close() 
Notify.uninit() 
+1

+1 porque la documentación de PyGobject falta de alguna manera en los internets. – astrojuanlu

Cuestiones relacionadas