Following is the code of irssi plugin, which I hacked. It displays popup messages (using notification-daemon
) for any IMs you received:
# irssi-notify.pl use Irssi; use Net::DBus; $::VERSION='0.0.1'; %::IRSSI = ( authors => 'Ashish Shukla', contact => 'gmail.com!wahjava', name => 'irssi-notify', description => 'Displays a pop-up message for message received', url => 'https://wahjava.wordpress.com/', license => 'GNU General Public License', changed => '$Date$' ); my $APPNAME = 'irssi'; my $bus = Net::DBus->session; my $notifications = $bus->get_service('org.freedesktop.Notifications'); my $object = $notifications->get_object('/org/freedesktop/Notifications', 'org.freedesktop.Notifications'); my $notify_nick = 'abbe'; # $object->Notify('appname', 0, 'info', 'Title', 'Message', [], { }, 3000); sub pub_msg { my ($server,$msg,$nick,$address,$target) = @_; if ($msg =~ $notify_nick) { $object->Notify("${APPNAME}:${server}", 0, 'info', "Public Message in $target", "$nick: $msg", [], { }, 3000); } } sub priv_msg { my ($server,$msg,$nick,$address) = @_; $object->Notify("${APPNAME}:${server}", 0, 'info', 'Private Message', "$nick: $msg", [], { }, 3000); } sub cmd_notifyon { my $nick = shift; if(!$nick) { Irssi::print("Current notification nick is $notify_nick ."); } else { $notify_nick = $nick; } } Irssi::signal_add_last('message public', \&pub_msg); Irssi::signal_add_last('message private', \&priv_msg); Irssi::command_bind('notify-on', \&cmd_notifyon);
To use it: copy, paste it into a file, say irssi-notify.pl
in your $HOME
. And then start irssi , and load plugin with command /script load ~/irssi-notify.pl
and after that use /notify-on
command to register your nick with this plugin, so it’ll popup messages with you nick mentioned. e.g. to register mikeab for notifications, I’ll do /notify-on mikeab
. You’ll also need Net::DBus
perl module. Happy irssi -ng…:)
P.S. BtW, there is another similar plugin also, which doesn’t require DBus, and it is available from http://codesnippets.joyent.com/posts/show/1394.
UPDATE: You can also download irssi-notify.pl.
Real programmers use irssi with bitlbee for all instant communications. Real programmers know when a new message is in without being notified. Real programmers… it goes on and on.
Nice work! I should try irssi sometime.
Comment by Edwin — 20080615 @ 0142
s/i with b/i + ctrlproxy + b/
:)
Comment by आशीष शुक्ल — 20080615 @ 0242
ahem… cool stuff.. I’ve tested it and it works jolly well
Comment by viyyer — 20080615 @ 1003
/me feels good :)
Comment by आशीष शुक्ल — 20080615 @ 1605
awesome, thank you in advance
Comment by omid — 20081112 @ 0051
Hello webmaster,
I would like to share with you a link, write to alarroste@mail.ru
Comment by alarroste — 20090219 @ 0519
Thank you bro, perfect job.
Comment by hal2k — 20090516 @ 1856
[…] wrote an #irssi plugin using Net::DBus and notification-daemon at https://wahjava.wordpress.com/2008/06/15/irssi-notifications/ […]
Pingback by Ashish SHUKLA (abbe) 's status on Thursday, 01-Oct-09 13:50:49 UTC - Identi.ca — 20091001 @ 1920
nice, thanks ;)
Comment by mrJesus — 20100201 @ 2044
[…] https://wahjava.wordpress.com/2008/06/15/irssi-notifications/ […]
Pingback by irssi에서 데스크탑 알림을 받으려면 어떻게해야합니까? irssi를 사용하고 있지만 때로는 - IT HOW — 20221227 @ 0827