html/cleanpublic.pl
1 # Simple script for removing colours in public channels :)
2
3 use strict;
4 use Irssi;
5 use vars qw($VERSION %IRSSI);
6
7 # Dev. info ^_^
8 $VERSION = "0.3";
9 %IRSSI = (
10 authors => "Jørgen Tjernø",
11 contact => "darkthorne\@samsen.com",
12 name => "CleanPublic",
13 description => "Simple script that removes colors and other formatting (bold, etc) from public channels",
14 license => "GPL",
15 url => "http://mental.mine.nu",
16 changed => "Wed Sep 24 13:17:15 CEST 2003"
17 );
18
19 # All the works
20 sub strip_formatting {
21 my ($server, $data, $nick, $mask, $target) = @_;
22 # Channel *allowed* to be colorful?
23 foreach my $chan (split(' ', Irssi::settings_get_str('colored_channels'))) {
24 if ($target eq $chan) { return }
25 }
26
27 # Ruthlessly_ripped_from_Garion {
28 my $twin = Irssi::window_find_name($target);
29 # Beam it to window 1 if we cant find any other suitable target.
30 if (!defined($twin)) { $twin = Irssi::window_find_refnum(1); }
31 # }
32
33 # Remove formatting
34 $data =~ s/\x03\d?\d?(,\d?\d?)?|\x02|\x1f|\x16|\x06|\x07//g;
35 # Let it flow
36 Irssi::signal_continue($server, $data, $nick, $mask, $target);
37 }
38
39 # Hook me up
40 Irssi::signal_add('message public', 'strip_formatting');
41 Irssi::settings_add_str('lookandfeel', 'colored_channels', '');