Irssi + notify.pl | problem „krzaczenia” rozwiązany

Uff… Nareszcie uporałem się z „krzaczeniem” w powiadomieniach irssi wywoływanych skryptem notify.pl.

Załadowany skrypt wywala powiadomienie przy każdym użyciu naszego nicka przez kogoś /otrzymaniu prywatnej wiadomości (co jest mi szczególnie przydatne, gdy siedzę na jakimś kanale i przy okazji gadam przez bitlbee). Po standardowym ściągnięciu skryptu, (link powyżej), zapisaniu gdzie trzeba i odpaleniu wszystko działa bajkowo, dopóki rozmawia się po angielsku, lub bez jakichkolwiek znaków diakrytycznych (czy poprzez cyrylicę).  Użycie np. języka polskiego wyrzuca nam taką oto notyfikację:

Hmm… lipa :) Podobnie rzecz ma się z esperanckim alfabetem, z czeskim, o rosyjskim nie wspominając :D Wlazłem zatem na #irssi (Freenode), ale najoględniej mówiąc koleś, który próbował mi pomóc, po kilku zamotkach rzucił coś w rodzaju: No wiesz… po prostu… spróbuj jakoś to zrobić, może się uda :D Przemieliłem kilka innych skryptów bazujących na libnotify, ale bez efektu. Pogrzebałem zatem w samym skrypcie odpowiedzialnym za te krzaki (dla porządku: UTF-8 w irssi oraz urxvt – działają, powiadomienia GUI w Xchacie – działają, libnotify – działa…). No i po krótkim czasie nareszcie dostałem to, czego chciałem. W skrypcie notify.pl, zajrzałem w sekcję:

sub message_private_notify {
    my ($server, $msg, $nick, $address) = @_;

    return if (!$server);
    notify($server, "Private message from ".$nick, $msg);
}

… i zamieniłem ją na:

sub message_private_notify {
    my ($server, $msg, $nick, $address) = @_;
return if (!$server);
`notify-send -t 8000 "${nick}" "${msg}"`;
}

Potem oczywiście w irssi:

/script unload notify.pl
/script load notify.pl

… lub restart i… działa :) Obecnie wszystkie powiadomienia śmigają jak Szatan przykazał:

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s