Pull to refresh

Прикручиваем уведомление о hilight в irssi через notify-osd

Reading time1 min
Views747
Благодаря наличию в Irssi поддержки perl-скриптования, можно очень простым способом, не используя никаких дополнительных модулей или еще чего либо реализовать довольно-таки удобную функцию уведомления о приватных сообщениях и хайлайтах через notify-osd, используя приведенный здесь скрипт. Конечно же, вы можете использовать что угодно вместо notify-osd по вашему желанию, и тогда это будет лишь небольшим примером того как можно облагородить такой, кажущийся многим с первого взгляда убогим, IRC-клиент.


#!/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/</&lt;/;
                $msg =~ s/>/&gt;/;
                $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. Нашли и исправили баг с двойным уведомлением про хайлайты на канале.
Tags:
Hubs:
+2
Comments3

Articles