viernes, 7 de diciembre de 2012

Irssi y libnotify

Si extrañas esas pequeñitas alertas que los clientes graficos IRC envian cuando alguien menciona tu nick, te envia y mensaje privado o te quiere transferir un archivo, irssi puede con ello.

La manera mas facil de obtener notificaciones de irssi en tu escritorio minimalista o entorno grafico, es utilizando el plugin irssi-libnotify el cual consiste de un "listener" en python que crea una instancia D-Bus para estar a la escucha de los eventos de irssi, y luego estos eventos son transmitidos al demonio de notifacion del sistema que finalmente nos muestra esa preciada ventanita emergente =)

La instalacion es bastante facil, primero que nada debemos clonar el repositorio para obtener la version mas reciente del proyecto (si no lo hacen de esta manera las ventanas de notificacion serán horribles porque utilizan gtk a secas y no son emergentes):
git clone https://code.google.com/p/irssi-libnotify/

irssi-linotify, como dije, consta de un "listener" en python y un plugin en perl (obvio) para irssi que envia los eventos del IRC al listener y este finalmente al sistema de notificaciones del SO.

Una vez tengamos la rama clonada tendremos que ubicar estos archivos en sus directorios respectivos. El listener notify-listener.py deberia estar en el directorio ~/bin de nuestro $HOME por razones de comodidad, asi que lo ubicamos en ese directorio o donde quieran (pero que recuerden). El archivo notify.pl lo ubicamos en el directorio de plugins de irssi ~/.irssi/plugins y lo linkeamos a ~/.irssi/scripts/autorun para que sea iniciado cada vez que ejecutemos irssi.

Para hacerlo desde la consola y ubicados dentro del directorio donde esta la rama, hacemos:
cp -v notify-listener.py ~/bin
cp -v notify.pl ~/.irssi/plugins/
ln -s ~/.irssi/plugins/notify.pl ~/.irssi/plugins/autorun/

Ahora debemos ejecutar los ultimos detalles para poder comenzar a utilizar este plugin:
  1. instalar la libreria con la que interactua Perl con D-Bus (sino, el plugin no funciona)
  2. ejecutar el listener
  3. cargar el plugin desde irssi
  4. ejecutar agregar el listener a los archivos de inicio del sistema

sudo apt-get install --no-install-recommends libnet-dbus-perl
python notify-listener.py &
#esto es desde irssi
/scrips load notify.pl
Con el ultimo paso, depende de nuestro WM/DE. Utilizo spectrwm asi que los archivos de inicio los cargo desde .xinit.

Una captura para ejemplificar ;)




No hay comentarios:

Publicar un comentario