1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
#!/usr/bin/perl -w
#
# cp2iso.pl
# Translates CP1250 to ISO8859-2 in incoming messages
#
# Written by Jakub Jankowski <shasta@atn.pl>
# for Irssi 0.7.98.4+
#
# Code looks much prettier now, thanks to Ion's euro.pl :)
#
# Use at your own risk, though ;)
use strict;
use vars qw($VERSION %IRSSI);
$VERSION = "1.1";
%IRSSI = (
authors => 'Jakub Jankowski',
contact => 'shasta@atn.pl',
name => 'cp2iso',
description => 'Translates CP1250 to ISO8859-2 in incoming messages',
license => 'GNU GPLv2 or later',
url => 'http://irssi.atn.pl/',
);
use Irssi;
my $cp1250_notifier = " [cp1250]";
sub message_public {
return unless $_[1] =~ tr/\214\234\217\237\245\271/\246\266\254\274\241\261/;
$_[1] .= $cp1250_notifier;
Irssi::signal_stop();
Irssi::signal_emit("message public", @_);
}
sub message_private {
return unless $_[1] =~ tr/\214\234\217\237\245\271/\246\266\254\274\241\261/;
$_[1] .= $cp1250_notifier;
Irssi::signal_stop();
Irssi::signal_emit("message private", @_);
}
sub message_irc_action {
return unless $_[1] =~ tr/\214\234\217\237\245\271/\246\266\254\274\241\261/;
$_[1] .= $cp1250_notifier;
Irssi::signal_stop();
Irssi::signal_emit("message irc action", @_);
}
sub message_part {
return unless $_[4] =~ tr/\214\234\217\237\245\271/\246\266\254\274\241\261/;
$_[4] .= $cp1250_notifier;
Irssi::signal_stop();
Irssi::signal_emit("message part", @_);
}
sub message_quit {
return unless $_[3] =~ tr/\214\234\217\237\245\271/\246\266\254\274\241\261/;
$_[3] .= $cp1250_notifier;
Irssi::signal_stop();
Irssi::signal_emit("message quit", @_);
}
sub message_kick {
return unless $_[5] =~ tr/\214\234\217\237\245\271/\246\266\254\274\241\261/;
$_[5] .= $cp1250_notifier;
Irssi::signal_stop();
Irssi::signal_emit("message kick", @_);
}
sub message_topic {
return unless $_[2] =~ tr/\214\234\217\237\245\271/\246\266\254\274\241\261/;
$_[2] .= $cp1250_notifier;
Irssi::signal_stop();
Irssi::signal_emit("message topic", @_);
}
Irssi::signal_add("message public", "message_public");
Irssi::signal_add("message private", "message_private");
Irssi::signal_add("message irc action", "message_irc_action");
Irssi::signal_add("message part", "message_part");
Irssi::signal_add("message quit", "message_quit");
Irssi::signal_add("message kick", "message_kick");
Irssi::signal_add("message topic", "message_topic");
|