1# Swap between green and white format for public messages. I think this 2# helps readability. Assumes you haven't changed message formats. 3# for irssi 0.7.98 by Timo Sirainen 4 5use Irssi; 6use strict; 7use vars qw($VERSION %IRSSI); 8$VERSION = "0.1"; 9%IRSSI = ( 10 authors => "Timo \'cras\' Sirainen", 11 contact => "tss\@iki.fi", 12 name => "colorswap", 13 description => "Swap between green and white format for public messages. I think this helps readability. Assumes you haven't changed message formats.", 14 license => "Public Domain", 15 url => "http://irssi.org/", 16 changed => "2002-03-04T22:47+0100" 17); 18 19my %setnext = {}; 20 21sub change_formats { 22 my $target = lc shift; 23 24 if ($setnext{$target}) { 25 Irssi::command('^format own_msg {ownmsgnick %G$2 {ownnick %G$0}}%g$1'); 26 Irssi::command('^format pubmsg {pubmsgnick %g$2 {pubnick %g$0}}%g$1'); 27 } else { 28 Irssi::command('^format -reset own_msg'); 29 Irssi::command('^format -reset pubmsg'); 30 } 31 $setnext{$target} = !$setnext{$target}; 32} 33 34sub sig_public { 35 my ($server, $msg, $nick, $address, $target) = @_; 36 37 change_formats($server->{tag}."/".$target); 38} 39 40sub sig_own_public { 41 my ($server, $msg, $target) = @_; 42 43 change_formats($server->{tag}."/".$target); 44} 45 46Irssi::signal_add('message public', 'sig_public'); 47Irssi::signal_add('message own_public', 'sig_own_public'); 48