Es increíble la cantidad de posibilidades que ofrece python. Aquí pongo un ejemplo de lo necesario para crear algo así:
python alerta.py “Name popup” “
<
span weight=\"bold\">Bold<
/span>: contents"
Código fuente:
#!/usr/bin/python # notify-bubble: Alert bubble + systray icon notification system # # Author: John Dong <jdong@ubuntu.com> # http://ubuntuforums.org/archive/index.php/t-887173.html # Feel free to use/tweak/modify to your free will. import gtk import gobject import pynotify icon=None notify=None # Definición de la función que creará el icono def create_icon(title, text=""): global icon #Declara la variable "icon" como global pynotify.init("pynotify") icon=gtk.status_icon_new_from_icon_name("important") # Crea un icono de estado a partir del tema actual icon.set_visible(False) # Hace invisible el icono icon.connect('activate', quit) # Asocia el evento 'activate' del icono a la funcion "quit" icon.set_tooltip("%s\n(%s)" % (title, text)) # Establece el popup del icono icon.set_visible(True) # Hace el icono visible ui_idle() # Invoca la función de espera de eventos (para que el icono permanezca) gobject.timeout_add (500, show_notification,(title, text, icon)) # Llama a la función de mostrar la notificación def show_notification(data): global notify #Declara la variable "notify" como global (title, text, icon) = data #Extrae los valores del parámetro notify = pynotify.Notification(title,text,"pynotify") # Crea la notificacion notify.set_urgency(pynotify.URGENCY_NORMAL) # Establece la urgencia de la notificación notify.attach_to_status_icon(icon) # Asocia la notificacion con un icono de estado notify.set_timeout(20000) # Duración de la notificación notify.show() # Muestra la notificación # Bucle de espera de eventos del icono def ui_idle(): while gtk.events_pending(): gtk.main_iteration(False) # Función de salida de la aplicación def quit(data): gtk.main_quit() notify.close() # Cerrar también la notificación # Aplicación principal import sys # Texto por defecto a mostrar (para cuando se invoca sin parámetros) name="Name popup" detail="<span weight=\"bold\">Bold</span>: content" try: # Lectura de parámetros de la línea de comandos name=sys.argv[1] detail=sys.argv[2] except IndexError: pass #Crear el icono con la notificación create_icon(name, detail) print "Pynotify alert spawned. Clicking the alert tray icon will exit this script too..." gtk.main() (bucle general de la aplicación
Para copiar el código usar el icono de arriba a la derecha (el de las dos flechas azules).
Fuente ubuntuforums