Archivos para 14/12/10

Python: Creando nuestros propios indicators

Navegando por el blog de jono bacon me encontre con un código de ejemplo y lo he adaptado. Es un ejemplo muy sencillo de como crear un indicador, y asociarle un menu. En el ejemplo creo 5 items en el menu. Uno para lanzar una aplicación externa (gedit en este caso), para salir, y otros tres que son un ejemplo de como crear un item de menu de tipo radio, check o imágen. No me explayo, porque en el código ya he puesto comentarios. Espero que os sirva para crear vuestras propias aplicaciones.

#! /usr/bin/python

#::::::::::::::::::::::::::::::::
# Ejemplo de uso de AppIndicator
#::::::::::::::::::::::::::::::::

import gobject
import gtk
import appindicator
import os

# Acciones que se ejecutan cuando pulse algun elemento del menu
def action1_clicked(widget,data=None):
    print "Lanzando gedit..."
    os.system("gedit &")

def action2_clicked(widget,data=None):
    print "Salir.."
    exit();

def quit(widget, data=None):
    gtk.main_quit()
    
# Codigo principal
if __name__ == "__main__":
    
    
    # Creo el indicador
    ind = appindicator.Indicator ("example-simple-client", "indicator-messages", appindicator.CATEGORY_APPLICATION_STATUS)
    ind.set_status (appindicator.STATUS_ACTIVE)
    ind.set_attention_icon ("indicator-messages-new")
    # Icono para el indicador
    ind.set_icon("distributor-logo")

    # creo un menu
    menu = gtk.Menu()

    # Empiezo a crear elementos para el menu
	
    # primer elemento (sera de tipo normal)
    # texto
    item = "Lanzar GEDIT..."
    # creo elemento de menu
    menu_item = gtk.MenuItem(item)
    # al pulsarlo le asocio que ejecute "action1"
    menu_item.connect("activate", action1_clicked)
    # Lo asocio al menu
    menu.append(menu_item)

    # Parecido para el item 2 del menu
    item2 = "Salir"
    menu_item2 = gtk.MenuItem(item2)
    # al pulsarlo le asocio que ejecute la "action2"
    menu_item2.connect("activate", action2_clicked)
    menu.append(menu_item2)

    # Aqui creo el item 3 pero sera de tipo check
    check = gtk.CheckMenuItem("Check Menu Item")
    menu.append(check)

    # Aqui creo el item 4 pero sera de tipo radio
    radio = gtk.RadioMenuItem(None, "Radio Menu Item")
    menu.append(radio)

    # Aqui creo el item 5 pero sera una imagen
    image = gtk.ImageMenuItem(gtk.STOCK_QUIT)
    image.connect("activate", quit)
    menu.append(image)
    
    # hago visibles los elementos del menu
    menu_item.show()
    menu_item2.show();    
    check.show();
    radio.show();
    image.show();
   
    # Asocio el menu al indicador
    ind.set_menu(menu)

    # Ejecuto el codigo principal
    gtk.main()

Quicknote: Estupendo bloc de notas para Chrome

Más información y enlace de descarga | GenBeta

Aprende a pensar como un “geek”

Geniales!!! más en Humor Salmon



The next version of Ubuntu is coming soon


¿Es compatible tu equipo con Ubuntu?


( Muchos fondos de pantalla, aqui )

DESCARGATE SCIFI LIFE

365 Dias de Soledad
Me debes los sueños, las promesas y las noches rotas. Me debes la paz, la sonrisa y la esperanza robadas. Me debes la sangre, las lágrimas y el sudor vertido. Me debes las noches vacías, los abrazos anhelados. Me debes un beso de ajenjo de tu amarga boca.

The Ubuntu Counter Project - user number # 11961
Geo Visitors Map
diciembre 2010
L M X J V S D
« nov   ene »
 12345
6789101112
13141516171819
20212223242526
2728293031  

Blog Stats

  • 26,579,520 hits

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 1.032 seguidores