Aplicación con ícono en el área de notificación usando pygtk

Hace unos días escribí en la lista de pygtk un ejemplo de como crear una aplicación que muestre un ícono en el área de notificación y que permita mostrar y ocultar una ventana cuando se haga clic sobre dicho ícono. Me pareció algo sencillo de hacer pero que le puede servir de guía a más de una persona. Esta es la idea que usamos en el CopyManager así que si quieren ver otro ejemplo más usado de esto pueden remitirse a nuestro svn.


import pygtk
pygtk.require('2.0')
import gtk
class Application(object):
def __init__(self):
# Creamos el icono que se mostrará en el área de notificación
self.statusicon = gtk.status_icon_new_from_stock('gtk-about')
# Y lo ponemos en dicha área
self.statusicon.set_visible(True)
# Creamos la ventana
self.window = gtk.Window()
self.window.show_all()
# Conectamos las señales que vamos a usar
self.statusicon.connect('activate', self.on_activate)
self.window.connect('delete-event', self.on_delete_event)

def on_activate(self, widget, data=None):
if self.window.is_active():
# Si la ventana es la ventana activa en el escritorio la ocultamos
self.window.hide()
else:
# Sino la hacemos la activa en el escritorio, o sea, la mostramos
# sobre todas las demás ventanas
self.window.present()

def on_delete_event(self, widget, data=None):
# Quitamos el icono del área de notificación
self.statusicon.set_visible(False)
# Cerramos el loop de gtk
gtk.main_quit()

if __name__ == '__main__':
# Creamos una instancia de la clase que creamos
app = Application()
# Iniciamos el loop de gtk
gtk.main()


Aquí está la fuente para que lo descarguen: app_with_statusicon.py

Comments

  1. Your site is amazing, thank you !
    Regards, The Train

    ReplyDelete
  2. muchisimas gracias por el codigo es justo lo que andava buscando! para una idea que tengo.. lo bueno que es muy sencillo

    gracias!

    ReplyDelete

Post a Comment

Popular posts from this blog

Using wx.stc.StyledTextCtrl

¡Ya tengo Gmail 2.0!

All my old posts imported