Skype Indicator 0.1 (Beta…pero que muy Beta)

Basandome en el código que publique el otro día he decidido crear mi propio indicador para Skype. Ésta primera versión es very very simple, únicamente muestra un menu para salir, otro para abrir la aplicación y un icono con el logo de Skype de acuerdo al tema del escritorio. Pero al menos ya me permite acceder a Skype desde Natty cuando no tengo disponible un area de notificación.

Espero poder mejorar ésta versión para que si tienes mensajes sin leer, se actualice el icono del panel, indicando el número, es decir, que funcione de manera similar a como lo hace en la actualidad. Pero como no sé si tendré exito, prefiero publicar el código que tengo hasta la fecha y si alguien me quiere echar una mano, bienvenida sea.

Nota: para que os funcione teneis que tener instaldo el paquete skype-python y tener arrancada una instancia de Skype antes de ejecutar éste código pues lo primero que hace es pedir permiso para poder conectarse.

Sin más, el código actual:


#! /usr/bin/python

#::::::::::::::::::::::::::::::::
# SKYPE APP-Indicator
#::::::::::::::::::::::::::::::::

import gobject
import gtk
import appindicator
import os

# Importo el API de SKYPE
import Skype4Py

# Cuando pulse "Abrir Skype" muestro la ventana actual de Skype
def action1_clicked(widget,data=None):
    print "Lanzando skype..."
    skype.Client.Focus()
       
# Cuando se reciba un mensaje nuevo, actualizo el contador de mensajes pendientes
def OnMessageStatus(Message, Status):
	print (Status)
	print(Message.FromDisplayName + ': ' + Message.Body);
	#if Status == 'RECEIVED':
	# TODO: implementar aqui el cambio de icono del indicator, indicando numero de mensajes pendientes
	# Tener diferentes juegos de iconos numericos y mostrar uno u otro segun el contador de pendientes
	# Parecido al badge de Chrome
	
# Para salir
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("skype")

    # creo un menu
    menu = gtk.Menu()
   
    # Skype item...
    item = "Open Skype..."
    menu_item = gtk.MenuItem(item)
    menu_item.connect("activate", action1_clicked)
    menu.append(menu_item)
  
    # Exit item...
    image = gtk.ImageMenuItem(gtk.STOCK_QUIT)
    image.connect("activate", quit)
    menu.append(image)

    # hago visibles los elementos del menu
    menu_item.show()
   
    image.show();

    # Asocio el menu al indicador
    ind.set_menu(menu)
    
    # Conectarme con SKYPE, debe de estar abierto...
    skype = Skype4Py.Skype()
    #skype.OnAttachmentStatus = OnAttach
    skype.OnMessageStatus = OnMessageStatus;
    print 'Connecting to Skype..'
    #skype.Timeout = 97000
    skype.Attach()

    # Ejecuto el codigo principal
    gtk.main()

Nota: Hay otro desarrollo parecido y con mejor pinta, pero tambien daba algunos errores el código, puede que lo revise y lo utilice de base.

15 Responses to “Skype Indicator 0.1 (Beta…pero que muy Beta)”


  1. 1 BRNrules diciembre 16, 2010 de 11:50 pm

    Ánimo y que no decaiga. Yo estaré esperando tus avances. ¡Un saludo!

  2. 2 Emilio diciembre 17, 2010 de 1:46 am

    ¡Buen trabajo! Te tengo una sugerencia, sin embargo 😛 ¿No sería mejor que el notificador funcione ‘dentro’ del notificador que tiene el ícono de email y donde aparecen las aplicaciones de email, IM, etc? A fin de cuentas, para eso se creó ese indicator especial 🙂

    Si quieres código para ver como se hace, puedes consultar las fuentes de Specto; más precisamente este archivo: http://bazaar.launchpad.net/~specto/specto/main/annotate/head%3A/spectlib/tools/indicator.py

    Un saludo, y esperemos que esto pueda salir de beta! 🙂

  3. 6 BasuhearT diciembre 17, 2010 de 3:11 am

    no se como hace instalar tengo ni idea 😦

    ayudarme

    plz

  4. 7 santiago diciembre 17, 2010 de 2:45 pm

    que justo, estaba haciendo exactamente lo mismo. ¿tienes idea de como poner un icono que no esté en el tema de escritorio, o sea, una imagen .jpg, .gif o .png?

  5. 9 edjogu diciembre 20, 2010 de 4:02 am

    Que tal.
    Muy interesante tu Blog, perfecto..felicitaciones, me inspiraste a crear el mio….
    Queria realizar una consulta. ¿Que editor de Python utilizas?
    Saludos desde Cartagena, Colombia.


  1. 1 Skype Indicator 0.1 (Beta…pero que muy Beta) | Ayuda Linux Trackback en diciembre 17, 2010 de 5:09 am
  2. 2 Tweets that mention Skype Indicator 0.1 (Beta…pero que muy Beta) « Ubuntu Life -- Topsy.com Trackback en diciembre 17, 2010 de 7:12 am
  3. 3 CPU Frequency Scaling ahora cuenta con su Indicator « Soft-Libre Trackback en diciembre 17, 2010 de 10:15 pm
  4. 4 Skype Indicator 0.2 « Ubuntu Life Trackback en diciembre 21, 2010 de 9:16 pm
  5. 5 Skype Indicator 0.2 | Ayuda Linux Trackback en diciembre 22, 2010 de 3:42 am

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s







¿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

  • 30.890.784 hits

A %d blogueros les gusta esto: