Pull to refresh

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

Lumber room
Благодаря наличию в 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:irssiircperl
Hubs: Lumber room
Total votes 6: ↑4 and ↓2 +2
Views247

Comments 3

Only those users with full accounts are able to leave comments. Log in, please.

Popular right now

Разработчик perl
to 100,000 ₽ЭР-ТелекомRemote job
Junior full stack-разработчик (Perl)
from 80,000 ₽Гнездо.ру - платформа эффективной рекламыRemote job
Бэкенд-разработчик Python
from 80,000 ₽Whoer.netRemote job
Разработчик С/C++ (Junior/middle)
from 80,000 ₽EltexНовосибирск