Благодаря наличию в Irssi поддержки perl-скриптования, можно очень простым способом, не используя никаких дополнительных модулей или еще чего либо реализовать довольно-таки удобную функцию уведомления о приватных сообщениях и хайлайтах через notify-osd, используя приведенный здесь скрипт. Конечно же, вы можете использовать что угодно вместо notify-osd по вашему желанию, и тогда это будет лишь небольшим примером того как можно облагородить такой, кажущийся многим с первого взгляда убогим, IRC-клиент.
Конечно же, это работает только если клиент запущен локально у вас на машине, а не в screen на удаленном сервере.
P.S. Нашли и исправили баг с двойным уведомлением про хайлайты на канале.
#!/usr/bin/perl -w -C use strict; use Irssi; use Irssi::Irc; sub sig_public { my @host; my ($server, $msg, $nick, $address, $target) = @_; my $mynick = $server->{nick}; chomp $mynick; if ($msg =~ m/.*$mynick.*/ ) { # Замена разных спецсимволов на более понятные для notify-osd $msg =~ s/</</; $msg =~ s/>/>/; $msg =~ s/'/`/g; system ("/usr/bin/notify-send 'Irssi:$nick [$target]' '$msg'"); } } sub sig_private { my ($server, $msg, $nick, $address) = @_; system ("/usr/bin/notify-send 'Irssi:$nick [private]' '$msg'"); } Irssi::signal_add_last('message public', 'sig_public'); Irssi::signal_add_last('message private', 'sig_private');
Конечно же, это работает только если клиент запущен локально у вас на машине, а не в screen на удаленном сервере.
P.S. Нашли и исправили баг с двойным уведомлением про хайлайты на канале.