Hemos de conocer el nombre del workspace que vayamos a dedicar a irssi, en mi caso es split
Activamos el plugin para el statusbar “workspace” y añadimos lo siguiente a /usr/share/ion3/statusbar_workspace.lua:
local file = assert(io.open("/home/xayon/.current_workspace", "w"))
file:write(curws:name())
file:close()
Despues de la definicion de curws en la funcion update_workspace.
Instalamos notify-send (libnotify en debian), mplayer y ponemos en .irssi/sound.wav el sonido que queramos que suene.
Ponemos en el array del siguiente script “mynicks” todos los nicks que solamos usar o palabras que queremos que resalten y lo colocamos en .irssi/scripts/autorun con permisos de ejecucion.
use strict; use vars qw($VERSION %IRSSI); use Irssi;
$VERSION = '0.0.3'; %IRSSI = (authors => 'XayOn', contact => 'yo.orco@gmail.com', name => 'ion3-notify', description => 'Popup and sound alerts',url => 'http://google.com',license => 'GNU General Public License', changed => '$Date: 2007-02-07 12:00:00 +0100 (Thu, 7 Feb 2008) $');
my $eventsound="/home/xayon/.irssi/sound.wav"; my @mynicks=('XayOn','xayon','david','francos','dfrancos');
sub pub_msg {my ($server,$msg,$nick,$address,$target) = @_;¬ify($nick,$msg) if in_array_regex($msg,@mynicks) == 1;}
sub prv_msg {my ($server,$msg,$nick,$address,$target) = @_;¬ify($nick,$msg);}
sub in_array_regex(){foreach my $nick ($_[1]){return 1 if $_[0] =~ /$nick/;}}
sub notify{if (`cat /home/xayon/.current_workspace` ne "Split"){ `notify-send -t 8000 \"$_[0] \" \" $_[1] \" &>/dev/null`;`mplayer -quiet $eventsound &>/dev/null &`} }
Irssi::signal_add_last("message public", "pub_msg");
Irssi::signal_add_last("message private", "prv_msg");
Reiniciamos irssi y voilá, oh! tambien decir que en sub notify{ foobar donde pone ne “Split” reemplaceis split por el nombre de vuestro workspace