i do not use irssi any longer
This commit is contained in:
parent
862960d312
commit
51ab560cbf
5 changed files with 0 additions and 3212 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -1,611 +0,0 @@
|
||||||
# for documentation: see http://wouter.coekaerts.be/site/irssi/nicklist
|
|
||||||
|
|
||||||
use Irssi;
|
|
||||||
use strict;
|
|
||||||
use IO::Handle; # for (auto)flush
|
|
||||||
use Fcntl; # for sysopen
|
|
||||||
use vars qw($VERSION %IRSSI);
|
|
||||||
$VERSION = '0.4.6';
|
|
||||||
%IRSSI = (
|
|
||||||
authors => 'Wouter Coekaerts',
|
|
||||||
contact => 'coekie@irssi.org',
|
|
||||||
name => 'nicklist',
|
|
||||||
description => 'draws a nicklist to another terminal, or at the right of your irssi in the same terminal',
|
|
||||||
license => 'GPLv2',
|
|
||||||
url => 'http://wouter.coekaerts.be/irssi',
|
|
||||||
changed => '29/06/2004'
|
|
||||||
);
|
|
||||||
|
|
||||||
sub cmd_help {
|
|
||||||
print ( <<EOF
|
|
||||||
Commands:
|
|
||||||
NICKLIST HELP
|
|
||||||
NICKLIST SCROLL <nr of lines>
|
|
||||||
NICKLIST SCREEN
|
|
||||||
NICKLIST FIFO
|
|
||||||
NICKLIST OFF
|
|
||||||
NICKLIST UPDATE
|
|
||||||
|
|
||||||
For help see: http://wouter.coekaerts.be/site/irssi/nicklist
|
|
||||||
|
|
||||||
in short:
|
|
||||||
|
|
||||||
1. FIFO MODE
|
|
||||||
- in irssi: /NICKLIST FIFO (only the first time, to create the fifo)
|
|
||||||
- in a shell, in a window where you want the nicklist: cat ~/.irssi/nicklistfifo
|
|
||||||
- back in irssi:
|
|
||||||
/SET nicklist_heigth <height of nicklist>
|
|
||||||
/SET nicklist_width <width of nicklist>
|
|
||||||
/NICKLIST FIFO
|
|
||||||
|
|
||||||
2. SCREEN MODE
|
|
||||||
- start irssi inside screen ("screen irssi")
|
|
||||||
- /NICKLIST SCREEN
|
|
||||||
EOF
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
my $prev_lines = 0; # number of lines in previous written nicklist
|
|
||||||
my $scroll_pos = 0; # scrolling position
|
|
||||||
my $cursor_line; # line the cursor is currently on
|
|
||||||
my ($OFF, $SCREEN, $FIFO) = (0,1,2); # modes
|
|
||||||
my $mode = $OFF; # current mode
|
|
||||||
my $need_redraw = 0; # nicklist needs redrawing
|
|
||||||
my $screen_resizing = 0; # terminal is being resized
|
|
||||||
my $active_channel; # (REC)
|
|
||||||
|
|
||||||
my @nicklist=(); # array of hashes, containing the internal nicklist of the active channel
|
|
||||||
# nick => realnick
|
|
||||||
# mode =>
|
|
||||||
my ($MODE_OP, $MODE_HALFOP, $MODE_VOICE, $MODE_NORMAL) = (0,1,2,3);
|
|
||||||
# status =>
|
|
||||||
my ($STATUS_NORMAL, $STATUS_JOINING, $STATUS_PARTING, $STATUS_QUITING, $STATUS_KICKED, $STATUS_SPLIT) = (0,1,2,3,4,5);
|
|
||||||
# text => text to be printed
|
|
||||||
# cmp => text used to compare (sort) nicks
|
|
||||||
|
|
||||||
|
|
||||||
# 'cached' settings
|
|
||||||
my ($screen_prefix, $irssi_width, @prefix_mode, @prefix_status, $height, $nicklist_width);
|
|
||||||
|
|
||||||
sub read_settings {
|
|
||||||
($screen_prefix = Irssi::settings_get_str('nicklist_screen_prefix')) =~ s/\\e/\033/g;
|
|
||||||
|
|
||||||
($prefix_mode[$MODE_OP] = Irssi::settings_get_str('nicklist_prefix_mode_op')) =~ s/\\e/\033/g;
|
|
||||||
($prefix_mode[$MODE_HALFOP] = Irssi::settings_get_str('nicklist_prefix_mode_halfop')) =~ s/\\e/\033/g;
|
|
||||||
($prefix_mode[$MODE_VOICE] = Irssi::settings_get_str('nicklist_prefix_mode_voice')) =~ s/\\e/\033/g;
|
|
||||||
($prefix_mode[$MODE_NORMAL] = Irssi::settings_get_str('nicklist_prefix_mode_normal')) =~ s/\\e/\033/g;
|
|
||||||
|
|
||||||
if ($mode != $SCREEN) {
|
|
||||||
$height = Irssi::settings_get_int('nicklist_height');
|
|
||||||
}
|
|
||||||
my $new_nicklist_width = Irssi::settings_get_int('nicklist_width');
|
|
||||||
if ($new_nicklist_width != $nicklist_width && $mode == $SCREEN) {
|
|
||||||
sig_terminal_resized();
|
|
||||||
}
|
|
||||||
$nicklist_width = $new_nicklist_width;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub update {
|
|
||||||
read_settings();
|
|
||||||
make_nicklist();
|
|
||||||
}
|
|
||||||
|
|
||||||
##################
|
|
||||||
##### OUTPUT #####
|
|
||||||
##################
|
|
||||||
|
|
||||||
### off ###
|
|
||||||
|
|
||||||
sub cmd_off {
|
|
||||||
if ($mode == $SCREEN) {
|
|
||||||
screen_stop();
|
|
||||||
} elsif ($mode == $FIFO) {
|
|
||||||
fifo_stop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
### fifo ###
|
|
||||||
|
|
||||||
sub cmd_fifo_start {
|
|
||||||
read_settings();
|
|
||||||
my $path = Irssi::settings_get_str('nicklist_fifo_path');
|
|
||||||
unless (-p $path) { # not a pipe
|
|
||||||
if (-e _) { # but a something else
|
|
||||||
die "$0: $path exists and is not a pipe, please remove it\n";
|
|
||||||
} else {
|
|
||||||
require POSIX;
|
|
||||||
POSIX::mkfifo($path, 0666) or die "can\'t mkfifo $path: $!";
|
|
||||||
Irssi::print("Fifo created. Start reading it (\"cat $path\") and try again.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!sysopen(FIFO, $path, O_WRONLY | O_NONBLOCK)) { # or die "can't write $path: $!";
|
|
||||||
Irssi::print("Couldn\'t write to the fifo ($!). Please start reading the fifo (\"cat $path\") and try again.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
FIFO->autoflush(1);
|
|
||||||
print FIFO "\033[2J\033[1;1H"; # erase screen & jump to 0,0
|
|
||||||
$cursor_line = 0;
|
|
||||||
if ($mode == $SCREEN) {
|
|
||||||
screen_stop();
|
|
||||||
}
|
|
||||||
$mode = $FIFO;
|
|
||||||
make_nicklist();
|
|
||||||
}
|
|
||||||
|
|
||||||
sub fifo_stop {
|
|
||||||
close FIFO;
|
|
||||||
$mode = $OFF;
|
|
||||||
Irssi::print("Fifo closed.");
|
|
||||||
}
|
|
||||||
|
|
||||||
### screen ###
|
|
||||||
|
|
||||||
sub cmd_screen_start {
|
|
||||||
if (!defined($ENV{'STY'})) {
|
|
||||||
Irssi::print 'screen not detected, screen mode only works inside screen';
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
read_settings();
|
|
||||||
if ($mode == $SCREEN) {return;}
|
|
||||||
if ($mode == $FIFO) {
|
|
||||||
fifo_stop();
|
|
||||||
}
|
|
||||||
$mode = $SCREEN;
|
|
||||||
Irssi::signal_add_last('gui print text finished', \&sig_gui_print_text_finished);
|
|
||||||
Irssi::signal_add_last('gui page scrolled', \&sig_page_scrolled);
|
|
||||||
Irssi::signal_add('terminal resized', \&sig_terminal_resized);
|
|
||||||
screen_size();
|
|
||||||
make_nicklist();
|
|
||||||
}
|
|
||||||
|
|
||||||
sub screen_stop {
|
|
||||||
$mode = $OFF;
|
|
||||||
Irssi::signal_remove('gui print text finished', \&sig_gui_print_text_finished);
|
|
||||||
Irssi::signal_remove('gui page scrolled', \&sig_page_scrolled);
|
|
||||||
Irssi::signal_remove('terminal resized', \&sig_terminal_resized);
|
|
||||||
system 'screen -x '.$ENV{'STY'}.' -X fit';
|
|
||||||
}
|
|
||||||
|
|
||||||
sub screen_size {
|
|
||||||
if ($mode != $SCREEN) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
$screen_resizing = 1;
|
|
||||||
# fit screen
|
|
||||||
system 'screen -x '.$ENV{'STY'}.' -X fit';
|
|
||||||
# get size (from perldoc -q size)
|
|
||||||
my ($winsize, $row, $col, $xpixel, $ypixel);
|
|
||||||
eval 'use Term::ReadKey; ($col, $row, $xpixel, $ypixel) = GetTerminalSize';
|
|
||||||
# require Term::ReadKey 'GetTerminalSize';
|
|
||||||
# ($col, $row, $xpixel, $ypixel) = Term::ReadKey::GetTerminalSize;
|
|
||||||
#};
|
|
||||||
if ($@) { # no Term::ReadKey, try the ugly way
|
|
||||||
eval {
|
|
||||||
require 'sys/ioctl.ph';
|
|
||||||
# without this reloading doesn't work. workaround for some unknown bug
|
|
||||||
do 'asm/ioctls.ph';
|
|
||||||
};
|
|
||||||
|
|
||||||
# ugly way not working, let's try something uglier, the dg-hack(tm) (constant for linux only?)
|
|
||||||
if($@) { no strict 'refs'; *TIOCGWINSZ = sub { return 0x5413 } }
|
|
||||||
|
|
||||||
unless (defined &TIOCGWINSZ) {
|
|
||||||
die "Term::ReadKey not found, and ioctl 'workaround' failed. Install the Term::ReadKey perl module to use screen mode.\n";
|
|
||||||
}
|
|
||||||
open(TTY, "+</dev/tty") or die "No tty: $!";
|
|
||||||
unless (ioctl(TTY, &TIOCGWINSZ, $winsize='')) {
|
|
||||||
die "Term::ReadKey not found, and ioctl 'workaround' failed ($!). Install the Term::ReadKey perl module to use screen mode.\n";
|
|
||||||
}
|
|
||||||
close(TTY);
|
|
||||||
($row, $col, $xpixel, $ypixel) = unpack('S4', $winsize);
|
|
||||||
}
|
|
||||||
|
|
||||||
# set screen width
|
|
||||||
$irssi_width = $col-$nicklist_width-1;
|
|
||||||
$height = $row-1;
|
|
||||||
|
|
||||||
# on some recent systems, "screen -X fit; screen -X width -w 50" doesn't work, needs a sleep in between the 2 commands
|
|
||||||
# so we wait a second before setting the width
|
|
||||||
Irssi::timeout_add_once(1000, sub {
|
|
||||||
my ($new_irssi_width) = @_;
|
|
||||||
system 'screen -x '.$ENV{'STY'}.' -X width -w ' . $new_irssi_width;
|
|
||||||
# and then we wait another second for the resizing, and then redraw.
|
|
||||||
Irssi::timeout_add_once(1000,sub {$screen_resizing = 0; redraw()}, []);
|
|
||||||
}, $irssi_width);
|
|
||||||
}
|
|
||||||
|
|
||||||
sub sig_terminal_resized {
|
|
||||||
if ($screen_resizing) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
$screen_resizing = 1;
|
|
||||||
Irssi::timeout_add_once(1000,\&screen_size,[]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
### both ###
|
|
||||||
|
|
||||||
sub nicklist_write_start {
|
|
||||||
if ($mode == $SCREEN) {
|
|
||||||
print STDERR "\033P\033[s\033\\"; # save cursor
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub nicklist_write_end {
|
|
||||||
if ($mode == $SCREEN) {
|
|
||||||
print STDERR "\033P\033[u\033\\"; # restore cursor
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub nicklist_write_line {
|
|
||||||
my ($line, $data) = @_;
|
|
||||||
if ($mode == $SCREEN) {
|
|
||||||
print STDERR "\033P\033[" . ($line+1) . ';'. ($irssi_width+1) .'H'. $screen_prefix . $data . "\033\\";
|
|
||||||
} elsif ($mode == $FIFO) {
|
|
||||||
$data = "\033[m$data"; # reset color
|
|
||||||
if ($line == $cursor_line+1) {
|
|
||||||
$data = "\n$data"; # next line
|
|
||||||
} elsif ($line == $cursor_line) {
|
|
||||||
$data = "\033[1G".$data; # back to beginning of line
|
|
||||||
} else {
|
|
||||||
$data = "\033[".($line+1).";0H".$data; # jump
|
|
||||||
}
|
|
||||||
$cursor_line=$line;
|
|
||||||
print(FIFO $data) or fifo_stop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# recalc the text of the nicklist item
|
|
||||||
sub calc_text {
|
|
||||||
my ($nick) = @_;
|
|
||||||
my $tmp = $nicklist_width-3;
|
|
||||||
(my $text = $nick->{'nick'}) =~ s/^(.{$tmp})..+$/$1\033[34m~\033[m/;
|
|
||||||
$nick->{'text'} = $prefix_mode[$nick->{'mode'}] . $text . (' ' x ($nicklist_width-length($nick->{'nick'})-1));
|
|
||||||
$nick->{'cmp'} = $nick->{'mode'}.lc($nick->{'nick'});
|
|
||||||
}
|
|
||||||
|
|
||||||
# redraw the given nick (nr) if it is visible
|
|
||||||
sub redraw_nick_nr {
|
|
||||||
my ($nr) = @_;
|
|
||||||
my $line = $nr - $scroll_pos;
|
|
||||||
if ($line >= 0 && $line < $height) {
|
|
||||||
nicklist_write_line($line, $nicklist[$nr]->{'text'});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# nick was inserted, redraw area if necessary
|
|
||||||
sub draw_insert_nick_nr {
|
|
||||||
my ($nr) = @_;
|
|
||||||
my $line = $nr - $scroll_pos;
|
|
||||||
if ($line < 0) { # nick is inserted above visible area
|
|
||||||
$scroll_pos++; # 'scroll' down :)
|
|
||||||
} elsif ($line < $height) { # line is visible
|
|
||||||
if ($mode == $SCREEN) {
|
|
||||||
need_redraw();
|
|
||||||
} elsif ($mode == $FIFO) {
|
|
||||||
my $data = "\033[m\033[L". $nicklist[$nr]->{'text'}; # reset color & insert line & write nick
|
|
||||||
if ($line == $cursor_line) {
|
|
||||||
$data = "\033[1G".$data; # back to beginning of line
|
|
||||||
} else {
|
|
||||||
$data = "\033[".($line+1).";1H".$data; # jump
|
|
||||||
}
|
|
||||||
$cursor_line=$line;
|
|
||||||
print(FIFO $data) or fifo_stop();
|
|
||||||
if ($prev_lines < $height) {
|
|
||||||
$prev_lines++; # the nicklist has one line more
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub draw_remove_nick_nr {
|
|
||||||
my ($nr) = @_;
|
|
||||||
my $line = $nr - $scroll_pos;
|
|
||||||
if ($line < 0) { # nick removed above visible area
|
|
||||||
$scroll_pos--; # 'scroll' up :)
|
|
||||||
} elsif ($line < $height) { # line is visible
|
|
||||||
if ($mode == $SCREEN) {
|
|
||||||
need_redraw();
|
|
||||||
} elsif ($mode == $FIFO) {
|
|
||||||
#my $data = "\033[m\033[L[i$line]". $nicklist[$nr]->{'text'}; # reset color & insert line & write nick
|
|
||||||
my $data = "\033[M"; # delete line
|
|
||||||
if ($line != $cursor_line) {
|
|
||||||
$data = "\033[".($line+1)."d".$data; # jump
|
|
||||||
}
|
|
||||||
$cursor_line=$line;
|
|
||||||
print(FIFO $data) or fifo_stop();
|
|
||||||
if (@nicklist-$scroll_pos >= $height) {
|
|
||||||
redraw_nick_nr($scroll_pos+$height-1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# redraw the whole nicklist
|
|
||||||
sub redraw {
|
|
||||||
$need_redraw = 0;
|
|
||||||
#make_nicklist();
|
|
||||||
nicklist_write_start();
|
|
||||||
my $line = 0;
|
|
||||||
### draw nicklist ###
|
|
||||||
for (my $i=$scroll_pos;$line < $height && $i < @nicklist; $i++) {
|
|
||||||
nicklist_write_line($line++, $nicklist[$i]->{'text'});
|
|
||||||
}
|
|
||||||
|
|
||||||
### clean up other lines ###
|
|
||||||
my $real_lines = $line;
|
|
||||||
while($line < $prev_lines) {
|
|
||||||
nicklist_write_line($line++,' ' x $nicklist_width);
|
|
||||||
}
|
|
||||||
$prev_lines = $real_lines;
|
|
||||||
nicklist_write_end();
|
|
||||||
}
|
|
||||||
|
|
||||||
# redraw (with little delay to avoid redrawing to much)
|
|
||||||
sub need_redraw {
|
|
||||||
if(!$need_redraw) {
|
|
||||||
$need_redraw = 1;
|
|
||||||
Irssi::timeout_add_once(10,\&redraw,[]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub sig_page_scrolled {
|
|
||||||
$prev_lines = $height; # we'll need to redraw everything if he scrolled up
|
|
||||||
need_redraw;
|
|
||||||
}
|
|
||||||
|
|
||||||
# redraw (with delay) if the window is visible (only in screen mode)
|
|
||||||
sub sig_gui_print_text_finished {
|
|
||||||
if ($need_redraw) { # there's already a redraw 'queued'
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
my $window = @_[0];
|
|
||||||
if ($window->{'refnum'} == Irssi::active_win->{'refnum'} || Irssi::settings_get_str('nicklist_screen_split_windows') eq '*') {
|
|
||||||
need_redraw;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
foreach my $win (split(/[ ,]/, Irssi::settings_get_str('nicklist_screen_split_windows'))) {
|
|
||||||
if ($window->{'refnum'} == $win || $window->{'name'} eq $win) {
|
|
||||||
need_redraw;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
####################
|
|
||||||
##### NICKLIST #####
|
|
||||||
####################
|
|
||||||
|
|
||||||
# returns the position of the given nick(as string) in the (internal) nicklist
|
|
||||||
sub find_nick {
|
|
||||||
my ($nick) = @_;
|
|
||||||
for (my $i=0;$i < @nicklist; $i++) {
|
|
||||||
if ($nicklist[$i]->{'nick'} eq $nick) {
|
|
||||||
return $i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
# find position where nick should be inserted into the list
|
|
||||||
sub find_insert_pos {
|
|
||||||
my ($cmp)= @_;
|
|
||||||
for (my $i=0;$i < @nicklist; $i++) {
|
|
||||||
if ($nicklist[$i]->{'cmp'} gt $cmp) {
|
|
||||||
return $i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return scalar(@nicklist); #last
|
|
||||||
}
|
|
||||||
|
|
||||||
# make the (internal) nicklist (@nicklist)
|
|
||||||
sub make_nicklist {
|
|
||||||
@nicklist = ();
|
|
||||||
$scroll_pos = 0;
|
|
||||||
|
|
||||||
### get & check channel ###
|
|
||||||
my $channel = Irssi::active_win->{active};
|
|
||||||
|
|
||||||
if (!$channel || (ref($channel) ne 'Irssi::Irc::Channel' && ref($channel) ne 'Irssi::Silc::Channel') || $channel->{'type'} ne 'CHANNEL' || ($channel->{chat_type} ne 'SILC' && !$channel->{'names_got'}) ) {
|
|
||||||
$active_channel = undef;
|
|
||||||
# no nicklist
|
|
||||||
} else {
|
|
||||||
$active_channel = $channel;
|
|
||||||
### make nicklist ###
|
|
||||||
my $thisnick;
|
|
||||||
foreach my $nick (sort {(($a->{'op'}?'1':$a->{'halfop'}?'2':$a->{'voice'}?'3':'4').lc($a->{'nick'}))
|
|
||||||
cmp (($b->{'op'}?'1':$b->{'halfop'}?'2':$b->{'voice'}?'3':'4').lc($b->{'nick'}))} $channel->nicks()) {
|
|
||||||
$thisnick = {'nick' => $nick->{'nick'}, 'mode' => ($nick->{'op'}?$MODE_OP:$nick->{'halfop'}?$MODE_HALFOP:$nick->{'voice'}?$MODE_VOICE:$MODE_NORMAL)};
|
|
||||||
calc_text($thisnick);
|
|
||||||
push @nicklist, $thisnick;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
need_redraw();
|
|
||||||
}
|
|
||||||
|
|
||||||
# insert nick(as hash) into nicklist
|
|
||||||
# pre: cmp has to be calculated
|
|
||||||
sub insert_nick {
|
|
||||||
my ($nick) = @_;
|
|
||||||
my $nr = find_insert_pos($nick->{'cmp'});
|
|
||||||
splice @nicklist, $nr, 0, $nick;
|
|
||||||
draw_insert_nick_nr($nr);
|
|
||||||
}
|
|
||||||
|
|
||||||
# remove nick(as nr) from nicklist
|
|
||||||
sub remove_nick {
|
|
||||||
my ($nr) = @_;
|
|
||||||
splice @nicklist, $nr, 1;
|
|
||||||
draw_remove_nick_nr($nr);
|
|
||||||
}
|
|
||||||
|
|
||||||
###################
|
|
||||||
##### ACTIONS #####
|
|
||||||
###################
|
|
||||||
|
|
||||||
# scroll the nicklist, arg = number of lines to scroll, positive = down, negative = up
|
|
||||||
sub cmd_scroll {
|
|
||||||
if (!$active_channel) { # not a channel active
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
my @nicks=Irssi::active_win->{active}->nicks;
|
|
||||||
my $nick_count = scalar(@nicks)+0;
|
|
||||||
my $channel = Irssi::active_win->{active};
|
|
||||||
if (!$channel || $channel->{type} ne 'CHANNEL' || !$channel->{names_got} || $nick_count <= Irssi::settings_get_int('nicklist_height')) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
$scroll_pos += @_[0];
|
|
||||||
|
|
||||||
if ($scroll_pos > $nick_count - $height) {
|
|
||||||
$scroll_pos = $nick_count - $height;
|
|
||||||
}
|
|
||||||
if ($scroll_pos <= 0) {
|
|
||||||
$scroll_pos = 0;
|
|
||||||
}
|
|
||||||
need_redraw();
|
|
||||||
}
|
|
||||||
|
|
||||||
sub is_active_channel {
|
|
||||||
my ($server,$channel) = @_; # (channel as string)
|
|
||||||
return ($server && $server->{'tag'} eq $active_channel->{'server'}->{'tag'} && $server->channel_find($channel) && $active_channel && $server->channel_find($channel)->{'name'} eq $active_channel->{'name'});
|
|
||||||
}
|
|
||||||
|
|
||||||
sub sig_channel_wholist { # this is actualy a little late, when the names are received would be better
|
|
||||||
my ($channel) = @_;
|
|
||||||
if (Irssi::active_win->{'active'} && Irssi::active_win->{'active'}->{'name'} eq $channel->{'name'}) { # the channel joined is active
|
|
||||||
make_nicklist
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub sig_join {
|
|
||||||
my ($server,$channel,$nick,$address) = @_;
|
|
||||||
if (!is_active_channel($server,$channel)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
my $newnick = {'nick' => $nick, 'mode' => $MODE_NORMAL};
|
|
||||||
calc_text($newnick);
|
|
||||||
insert_nick($newnick);
|
|
||||||
}
|
|
||||||
|
|
||||||
sub sig_kick {
|
|
||||||
my ($server, $channel, $nick, $kicker, $address, $reason) = @_;
|
|
||||||
if (!is_active_channel($server,$channel)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
my $nr = find_nick($nick);
|
|
||||||
if ($nr == -1) {
|
|
||||||
Irssi::print("nicklist warning: $nick was kicked from $channel, but not found in nicklist");
|
|
||||||
} else {
|
|
||||||
remove_nick($nr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub sig_part {
|
|
||||||
my ($server,$channel,$nick,$address, $reason) = @_;
|
|
||||||
if (!is_active_channel($server,$channel)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
my $nr = find_nick($nick);
|
|
||||||
if ($nr == -1) {
|
|
||||||
Irssi::print("nicklist warning: $nick has parted $channel, but was not found in nicklist");
|
|
||||||
} else {
|
|
||||||
remove_nick($nr);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
sub sig_quit {
|
|
||||||
my ($server,$nick,$address, $reason) = @_;
|
|
||||||
if ($server->{'tag'} ne $active_channel->{'server'}->{'tag'}) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
my $nr = find_nick($nick);
|
|
||||||
if ($nr != -1) {
|
|
||||||
remove_nick($nr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub sig_nick {
|
|
||||||
my ($server, $newnick, $oldnick, $address) = @_;
|
|
||||||
if ($server->{'tag'} ne $active_channel->{'server'}->{'tag'}) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
my $nr = find_nick($oldnick);
|
|
||||||
if ($nr != -1) { # if nick was found (nickchange is in current channel)
|
|
||||||
my $nick = $nicklist[$nr];
|
|
||||||
remove_nick($nr);
|
|
||||||
$nick->{'nick'} = $newnick;
|
|
||||||
calc_text($nick);
|
|
||||||
insert_nick($nick);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub sig_mode {
|
|
||||||
my ($channel, $nick, $setby, $mode, $type) = @_; # (nick and channel as rec)
|
|
||||||
if ($channel->{'server'}->{'tag'} ne $active_channel->{'server'}->{'tag'} || $channel->{'name'} ne $active_channel->{'name'}) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
my $nr = find_nick($nick->{'nick'});
|
|
||||||
if ($nr == -1) {
|
|
||||||
Irssi::print("nicklist warning: $nick->{'nick'} had mode set on $channel->{'name'}, but was not found in nicklist");
|
|
||||||
} else {
|
|
||||||
my $nicklist_item = $nicklist[$nr];
|
|
||||||
remove_nick($nr);
|
|
||||||
$nicklist_item->{'mode'} = ($nick->{'op'}?$MODE_OP:$nick->{'halfop'}?$MODE_HALFOP:$nick->{'voice'}?$MODE_VOICE:$MODE_NORMAL);
|
|
||||||
calc_text($nicklist_item);
|
|
||||||
insert_nick($nicklist_item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
##### command binds #####
|
|
||||||
Irssi::command_bind 'nicklist' => sub {
|
|
||||||
my ( $data, $server, $item ) = @_;
|
|
||||||
$data =~ s/\s+$//g;
|
|
||||||
Irssi::command_runsub ('nicklist', $data, $server, $item ) ;
|
|
||||||
};
|
|
||||||
Irssi::signal_add_first 'default command nicklist' => sub {
|
|
||||||
# gets triggered if called with unknown subcommand
|
|
||||||
cmd_help();
|
|
||||||
};
|
|
||||||
Irssi::command_bind('nicklist update',\&update);
|
|
||||||
Irssi::command_bind('nicklist help',\&cmd_help);
|
|
||||||
Irssi::command_bind('nicklist scroll',\&cmd_scroll);
|
|
||||||
Irssi::command_bind('nicklist fifo',\&cmd_fifo_start);
|
|
||||||
Irssi::command_bind('nicklist screen',\&cmd_screen_start);
|
|
||||||
Irssi::command_bind('nicklist screensize',\&screen_size);
|
|
||||||
Irssi::command_bind('nicklist off',\&cmd_off);
|
|
||||||
|
|
||||||
##### signals #####
|
|
||||||
Irssi::signal_add_last('window item changed', \&make_nicklist);
|
|
||||||
Irssi::signal_add_last('window changed', \&make_nicklist);
|
|
||||||
Irssi::signal_add_last('channel wholist', \&sig_channel_wholist);
|
|
||||||
Irssi::signal_add_first('message join', \&sig_join); # first, to be before ignores
|
|
||||||
Irssi::signal_add_first('message part', \&sig_part);
|
|
||||||
Irssi::signal_add_first('message kick', \&sig_kick);
|
|
||||||
Irssi::signal_add_first('message quit', \&sig_quit);
|
|
||||||
Irssi::signal_add_first('message nick', \&sig_nick);
|
|
||||||
Irssi::signal_add_first('message own_nick', \&sig_nick);
|
|
||||||
Irssi::signal_add_first('nick mode changed', \&sig_mode);
|
|
||||||
|
|
||||||
Irssi::signal_add('setup changed', \&read_settings);
|
|
||||||
|
|
||||||
##### settings #####
|
|
||||||
Irssi::settings_add_str('nicklist', 'nicklist_screen_prefix', '\e[m ');
|
|
||||||
Irssi::settings_add_str('nicklist', 'nicklist_prefix_mode_op', '\e[32m@\e[39m');
|
|
||||||
Irssi::settings_add_str('nicklist', 'nicklist_prefix_mode_halfop', '\e[34m%\e[39m');
|
|
||||||
Irssi::settings_add_str('nicklist', 'nicklist_prefix_mode_voice', '\e[33m+\e[39m');
|
|
||||||
Irssi::settings_add_str('nicklist', 'nicklist_prefix_mode_normal', ' ');
|
|
||||||
|
|
||||||
Irssi::settings_add_int('nicklist', 'nicklist_width',11);
|
|
||||||
Irssi::settings_add_int('nicklist', 'nicklist_height',24);
|
|
||||||
Irssi::settings_add_str('nicklist', 'nicklist_fifo_path', Irssi::get_irssi_dir . '/nicklistfifo');
|
|
||||||
Irssi::settings_add_str('nicklist', 'nicklist_screen_split_windows', '');
|
|
||||||
Irssi::settings_add_str('nicklist', 'nicklist_automode', '');
|
|
||||||
|
|
||||||
read_settings();
|
|
||||||
if (uc(Irssi::settings_get_str('nicklist_automode')) eq 'SCREEN') {
|
|
||||||
cmd_screen_start();
|
|
||||||
} elsif (uc(Irssi::settings_get_str('nicklist_automode')) eq 'FIFO') {
|
|
||||||
cmd_fifo_start();
|
|
||||||
}
|
|
||||||
|
|
@ -1,60 +0,0 @@
|
||||||
# /set splitlong_max_length
|
|
||||||
# specifies the maximum length of a msg, automatically chosen when set to "0"
|
|
||||||
# default: 0
|
|
||||||
#
|
|
||||||
# /set splitlong_line_start
|
|
||||||
# /set splitlong_line_end
|
|
||||||
# self-explanatory
|
|
||||||
# defaults: "... ", " ..."
|
|
||||||
###
|
|
||||||
use strict;
|
|
||||||
use vars qw($VERSION %IRSSI);
|
|
||||||
|
|
||||||
use Irssi 20011001;
|
|
||||||
|
|
||||||
$VERSION = "0.20";
|
|
||||||
%IRSSI = (
|
|
||||||
authors => "Bjoern \'fuchs\' Krombholz",
|
|
||||||
contact => "bjkro\@gmx.de",
|
|
||||||
name => "splitlong",
|
|
||||||
licence => "Public Domain",
|
|
||||||
description => "Split overlong PRIVMSGs to msgs with length allowed by ircd",
|
|
||||||
changed => "Wed Jun 25 00:17:00 CET 2003",
|
|
||||||
changes => "Actually the real 0.19 (now 0.20), but upload didn't work some month ago, target problem fixed..."
|
|
||||||
);
|
|
||||||
|
|
||||||
sub sig_command_msg {
|
|
||||||
my ($cmd, $server, $winitem) = @_;
|
|
||||||
my ( $param, $target,$data) = $cmd =~ /^(-\S*\s)?(\S*)\s(.*)/;
|
|
||||||
|
|
||||||
my $maxlength = Irssi::settings_get_int('splitlong_max_length');
|
|
||||||
my $lstart = Irssi::settings_get_str('splitlong_line_start');
|
|
||||||
my $lend = Irssi::settings_get_str('splitlong_line_end');
|
|
||||||
|
|
||||||
if ($maxlength == 0) {
|
|
||||||
# 497 = 510 - length(":" . "!" . " PRIVMSG " . " :");
|
|
||||||
$maxlength = 497 - length($server->{nick} . $server->{userhost} . $target);
|
|
||||||
}
|
|
||||||
my $maxlength2 = $maxlength - length($lend);
|
|
||||||
|
|
||||||
if (length($data) > ($maxlength)) {
|
|
||||||
my @spltarr;
|
|
||||||
|
|
||||||
while (length($data) > ($maxlength2)) {
|
|
||||||
my $pos = rindex($data, " ", $maxlength2);
|
|
||||||
push @spltarr, substr($data, 0, ($pos < ($maxlength/10 + 4)) ? $maxlength2 : $pos) . $lend;
|
|
||||||
$data = $lstart . substr($data, ($pos < ($maxlength/10 + 4)) ? $maxlength2 : $pos+1);
|
|
||||||
}
|
|
||||||
|
|
||||||
push @spltarr, $data;
|
|
||||||
foreach (@spltarr) {
|
|
||||||
Irssi::signal_emit("command msg", "$target $_", $server, $winitem);
|
|
||||||
}
|
|
||||||
Irssi::signal_stop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Irssi::settings_add_int('misc', 'splitlong_max_length', 0);
|
|
||||||
Irssi::settings_add_str('misc', 'splitlong_line_start', "... ");
|
|
||||||
Irssi::settings_add_str('misc', 'splitlong_line_end', " ...");
|
|
||||||
Irssi::command_bind('msg', 'sig_command_msg');
|
|
||||||
|
|
@ -1,160 +0,0 @@
|
||||||
use strict;
|
|
||||||
use Irssi 20020101.0250 ();
|
|
||||||
use vars qw($VERSION %IRSSI);
|
|
||||||
$VERSION = "1";
|
|
||||||
%IRSSI = (
|
|
||||||
authors => "Timo Sirainen, Ian Peters",
|
|
||||||
contact => "tss\@iki.fi",
|
|
||||||
name => "Nick Color",
|
|
||||||
description => "assign a different color for each nick",
|
|
||||||
license => "Public Domain",
|
|
||||||
url => "http://irssi.org/",
|
|
||||||
changed => "2002-03-04T22:47+0100"
|
|
||||||
);
|
|
||||||
|
|
||||||
# hm.. i should make it possible to use the existing one..
|
|
||||||
Irssi::theme_register([
|
|
||||||
'pubmsg_hilight', '{pubmsghinick $0 $3 $1}$2'
|
|
||||||
]);
|
|
||||||
|
|
||||||
my %saved_colors;
|
|
||||||
my %session_colors = {};
|
|
||||||
my @colors = qw/ 2 3 4 5 6 7 9 10 11 12 13 14 15/;
|
|
||||||
|
|
||||||
sub load_colors {
|
|
||||||
open COLORS, "$ENV{HOME}/.irssi/saved_colors";
|
|
||||||
|
|
||||||
while (<COLORS>) {
|
|
||||||
# I don't know why this is necessary only inside of irssi
|
|
||||||
my @lines = split "\n";
|
|
||||||
foreach my $line (@lines) {
|
|
||||||
my($nick, $color) = split ":", $line;
|
|
||||||
$saved_colors{$nick} = $color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
close COLORS;
|
|
||||||
}
|
|
||||||
|
|
||||||
sub save_colors {
|
|
||||||
open COLORS, ">$ENV{HOME}/.irssi/saved_colors";
|
|
||||||
|
|
||||||
foreach my $nick (keys %saved_colors) {
|
|
||||||
print COLORS "$nick:$saved_colors{$nick}\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
close COLORS;
|
|
||||||
}
|
|
||||||
|
|
||||||
# If someone we've colored (either through the saved colors, or the hash
|
|
||||||
# function) changes their nick, we'd like to keep the same color
|
|
||||||
# associated
|
|
||||||
# with them (but only in the session_colors, ie a temporary mapping).
|
|
||||||
|
|
||||||
sub sig_nick {
|
|
||||||
my ($server, $newnick, $nick, $address) = @_;
|
|
||||||
my $color;
|
|
||||||
|
|
||||||
$newnick = substr ($newnick, 1) if ($newnick =~ /^:/);
|
|
||||||
|
|
||||||
if ($color = $saved_colors{$nick}) {
|
|
||||||
$session_colors{$newnick} = $color;
|
|
||||||
} elsif ($color = $session_colors{$nick}) {
|
|
||||||
$session_colors{$newnick} = $color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# This gave reasonable distribution values when run across
|
|
||||||
# /usr/share/dict/words
|
|
||||||
|
|
||||||
sub simple_hash {
|
|
||||||
my ($string) = @_;
|
|
||||||
chomp $string;
|
|
||||||
my @chars = split //, $string;
|
|
||||||
my $counter;
|
|
||||||
|
|
||||||
foreach my $char (@chars) {
|
|
||||||
$counter += ord $char;
|
|
||||||
}
|
|
||||||
|
|
||||||
$counter = $colors[$counter % 11];
|
|
||||||
|
|
||||||
return $counter;
|
|
||||||
}
|
|
||||||
|
|
||||||
# FIXME: breaks /HILIGHT etc.
|
|
||||||
sub sig_public {
|
|
||||||
my ($server, $msg, $nick, $address, $target) = @_;
|
|
||||||
my $chanrec = $server->channel_find($target);
|
|
||||||
return if not $chanrec;
|
|
||||||
my $nickrec = $chanrec->nick_find($nick);
|
|
||||||
return if not $nickrec;
|
|
||||||
my $nickmode = $nickrec->{op} ? "@" : $nickrec->{voice} ? "+" : "";
|
|
||||||
|
|
||||||
# Has the user assigned this nick a color?
|
|
||||||
my $color = $saved_colors{$nick};
|
|
||||||
|
|
||||||
# Have -we- already assigned this nick a color?
|
|
||||||
if (!$color) {
|
|
||||||
$color = $session_colors{$nick};
|
|
||||||
}
|
|
||||||
|
|
||||||
# Let's assign this nick a color
|
|
||||||
if (!$color) {
|
|
||||||
$color = simple_hash $nick;
|
|
||||||
$session_colors{$nick} = $color;
|
|
||||||
}
|
|
||||||
|
|
||||||
$color = "0".$color if ($color < 10);
|
|
||||||
$server->command('/^format pubmsg %b<%w$2'.chr(3).$color.'$[-11]0%b>
|
|
||||||
%K|%n $1');
|
|
||||||
# $server->command('/^format action_public {pubaction
|
|
||||||
# '.chr(3).$color.'$0}$1');
|
|
||||||
}
|
|
||||||
|
|
||||||
sub cmd_color {
|
|
||||||
my ($data, $server, $witem) = @_;
|
|
||||||
my ($op, $nick, $color) = split " ", $data;
|
|
||||||
|
|
||||||
$op = lc $op;
|
|
||||||
|
|
||||||
if (!$op) {
|
|
||||||
Irssi::print ("No operation given");
|
|
||||||
} elsif ($op eq "save") {
|
|
||||||
save_colors;
|
|
||||||
} elsif ($op eq "set") {
|
|
||||||
if (!$nick) {
|
|
||||||
Irssi::print ("Nick not given");
|
|
||||||
} elsif (!$color) {
|
|
||||||
Irssi::print ("Color not given");
|
|
||||||
} elsif ($color < 2 || $color > 14) {
|
|
||||||
Irssi::print ("Color must be between 2 and 14 inclusive");
|
|
||||||
} else {
|
|
||||||
$saved_colors{$nick} = $color;
|
|
||||||
}
|
|
||||||
} elsif ($op eq "clear") {
|
|
||||||
if (!$nick) {
|
|
||||||
Irssi::print ("Nick not given");
|
|
||||||
} else {
|
|
||||||
delete ($saved_colors{$nick});
|
|
||||||
}
|
|
||||||
} elsif ($op eq "list") {
|
|
||||||
Irssi::print ("\nSaved Colors:");
|
|
||||||
foreach my $nick (keys %saved_colors) {
|
|
||||||
Irssi::print (chr (3) . "$saved_colors{$nick}$nick" .
|
|
||||||
chr (3) . "1 ($saved_colors{$nick})");
|
|
||||||
}
|
|
||||||
} elsif ($op eq "preview") {
|
|
||||||
Irssi::print ("\nAvailable colors:");
|
|
||||||
foreach my $i (2..14) {
|
|
||||||
Irssi::print (chr (3) . "$i" . "Color #$i");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
load_colors;
|
|
||||||
|
|
||||||
Irssi::command_bind('color', 'cmd_color');
|
|
||||||
|
|
||||||
Irssi::signal_add('message public', 'sig_public');
|
|
||||||
Irssi::signal_add('event nick', 'sig_nick');
|
|
||||||
|
|
@ -1,465 +0,0 @@
|
||||||
#######################################################################
|
|
||||||
#
|
|
||||||
# xchat.theme for irssi - http://waxman.org/irssi/xchat.theme (xchat.png)
|
|
||||||
#
|
|
||||||
# xchat.theme, Public Beta, 1.5.1 2004/08/06
|
|
||||||
#
|
|
||||||
# Copyright 2004 Dave Waxman
|
|
||||||
#
|
|
||||||
# Please report any bugs to xchattheme@waxman.org
|
|
||||||
#
|
|
||||||
# For best results it is suggested you do the following:
|
|
||||||
# /set show_nickmode_empty on
|
|
||||||
# /set hide_server_tag on
|
|
||||||
# /set timestamp %H:%M:%S
|
|
||||||
# /set indent 28
|
|
||||||
#
|
|
||||||
# This theme is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This theme is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this theme; if not, write to the Free Software
|
|
||||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
#
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
|
|
||||||
# default foreground color (%w) - -1 is the "default terminal color"
|
|
||||||
default_color = "-1";
|
|
||||||
|
|
||||||
# print timestamp/servertag at the end of line, not at beginning
|
|
||||||
info_eol = "false";
|
|
||||||
|
|
||||||
# these characters are automatically replaced with specified color
|
|
||||||
# (dark grey by default)
|
|
||||||
#replaces = { "[]=" = "%b$*%n"; };
|
|
||||||
|
|
||||||
abstracts = {
|
|
||||||
|
|
||||||
# text to insert at the beginning of each non-message line
|
|
||||||
line_start = "";
|
|
||||||
|
|
||||||
# timestamp styling, nothing by default
|
|
||||||
timestamp = "%K[%n$0-%K]%n";
|
|
||||||
|
|
||||||
# any kind of text that needs hilighting, default is to bold
|
|
||||||
hilight = "%_$*%_";
|
|
||||||
|
|
||||||
# any kind of error message, default is bright red
|
|
||||||
error = "%R$*%n";
|
|
||||||
|
|
||||||
# channel name is printed
|
|
||||||
channel = "$*";
|
|
||||||
|
|
||||||
# nick is printed
|
|
||||||
nick = "%_$*%_";
|
|
||||||
|
|
||||||
# nick host is printed
|
|
||||||
nickhost = "%K[%n$*%K]%n";
|
|
||||||
|
|
||||||
# server name is printed
|
|
||||||
server = "%_$*%_";
|
|
||||||
|
|
||||||
# some kind of comment is printed
|
|
||||||
comment = "$*";
|
|
||||||
|
|
||||||
# reason for something is printed (part, quit, kick, ..)
|
|
||||||
reason = "{comment $*}";
|
|
||||||
|
|
||||||
# highlighted nick/host is printed (joins)
|
|
||||||
channick_hilight = "%W$*%w";
|
|
||||||
chanhost_hilight = "{nickhost %c$*%w}";
|
|
||||||
|
|
||||||
# nick/host is printed (parts, quits, etc.)
|
|
||||||
channick = "%w$*%w";
|
|
||||||
chanhost = "{nickhost $*}";
|
|
||||||
|
|
||||||
# highlighted channel name is printed
|
|
||||||
channelhilight = "%n$*%n";
|
|
||||||
|
|
||||||
# ban/ban exception/invite list mask is printed
|
|
||||||
ban = "%c$*%n";
|
|
||||||
|
|
||||||
# Actions
|
|
||||||
|
|
||||||
action_core = " %m * %K|%W $*%n";
|
|
||||||
|
|
||||||
# generic one that's used by most actions
|
|
||||||
action = "{action_core $*} ";
|
|
||||||
|
|
||||||
# own action, both private/public
|
|
||||||
ownaction = "{action $*}";
|
|
||||||
|
|
||||||
# own action with target, both private/public
|
|
||||||
ownaction_target = "{action_core $0}%W:%c$1%n ";
|
|
||||||
|
|
||||||
# private action sent by others
|
|
||||||
pvtaction = "%G (*) $*%n ";
|
|
||||||
pvtaction_query = "{action $*}";
|
|
||||||
|
|
||||||
# public action sent by others
|
|
||||||
pubaction = "{action $*}";
|
|
||||||
|
|
||||||
# wallops
|
|
||||||
wallop = "%b$*%n: ";
|
|
||||||
wallop_nick = "%w$*";
|
|
||||||
wallop_action = "%W * $*%n ";
|
|
||||||
|
|
||||||
# DCC
|
|
||||||
dcc = " %w-%c-%C- %K|%G $*%n";
|
|
||||||
dccfile = "%_$*%_";
|
|
||||||
|
|
||||||
# DCC chat, own msg/action
|
|
||||||
dccownmsg = "%K[%r$0%b($1-%b)%w%K] ";
|
|
||||||
dccownnick = "%R$*%n";
|
|
||||||
dccownquerynick = "%G$*%n";
|
|
||||||
dccownaction = "{action $*}";
|
|
||||||
dccownaction_target = "{action_core $0}%W:%c$1%n ";
|
|
||||||
|
|
||||||
# DCC chat, others
|
|
||||||
dccmsg = "%K[%G$1-%b(%g$0%b)%w%K]%n ";
|
|
||||||
dccquerynick = "%G$*%w";
|
|
||||||
dccaction = "%W (*dcc*) $*%w %|";
|
|
||||||
|
|
||||||
##
|
|
||||||
## statusbar
|
|
||||||
##
|
|
||||||
|
|
||||||
# default background for all statusbars. You can also give
|
|
||||||
# the default foreground color for statusbar items.
|
|
||||||
sb_background = "%n%n";
|
|
||||||
|
|
||||||
# background for prompt / input line
|
|
||||||
sb_prompt_bg = "%w";
|
|
||||||
# background for info statusbar
|
|
||||||
sb_info_bg = "%8";
|
|
||||||
|
|
||||||
# text at the beginning of statusbars. sb-item already puts
|
|
||||||
# space there,so we don't use anything by default.
|
|
||||||
sbstart = "%K-(";
|
|
||||||
# text at the end of statusbars. Use space so that it's never
|
|
||||||
# used for anything.
|
|
||||||
sbend = "%K)-";
|
|
||||||
|
|
||||||
topicsbstart = "{sbstart $*}";
|
|
||||||
topicsbend = "{sbend $*}";
|
|
||||||
|
|
||||||
prompt = "%K[%w$tag%K/%m$cumode%c$*%K]%n ";
|
|
||||||
|
|
||||||
|
|
||||||
sb = " %m-=%K[%w$*%K]%m=-%n";
|
|
||||||
sbmode = "%K(%n+%C$*%K)%n";
|
|
||||||
sbaway = " %K(%MzZzZ%K)";
|
|
||||||
sbservertag = "%n:$0 (change with ^X)";
|
|
||||||
|
|
||||||
# activity in statusbar
|
|
||||||
|
|
||||||
# ',' separator
|
|
||||||
sb_act_sep = "%K$*";
|
|
||||||
# normal text
|
|
||||||
sb_act_text = "%c$*";
|
|
||||||
# public message
|
|
||||||
sb_act_msg = "%W$*";
|
|
||||||
# hilight
|
|
||||||
sb_act_hilight = "%M$*";
|
|
||||||
# hilight with specified color, $0 = color, $1 = text
|
|
||||||
sb_act_hilight_color = "$0$1-%w";
|
|
||||||
|
|
||||||
indent_default = " %K|%n ";
|
|
||||||
};
|
|
||||||
formats = {
|
|
||||||
"fe-text" = {
|
|
||||||
lastlog_too_long = " %w-%c-%C- %K| %W/LASTLOG %nwould print %C$0 %nlines. Use the -force option to print all of them.";
|
|
||||||
lastlog_count = " %w-%c-%C- %K| %W/LASTLOG %C$0 $nlines";
|
|
||||||
lastlog_start = " %w-%c-%C- %K| %nBegining of LASTLOG:";
|
|
||||||
lastlog_end = " %w-%c-%C- %K| %nEnd of LASTLOG";
|
|
||||||
lastlog_separator = " %w-%c-%C- %K| %c---";
|
|
||||||
refnum_not_found = " %w-%c-%C- %K| %RERROR: %nWindow number %C{hilight $0] %ndoes not exist";
|
|
||||||
window_too_small = " %w-%c-%C- %K| %RERROR: %nNot enough room to resize this window";
|
|
||||||
cant_hide_last = " %w-%c-%C- %K| %RERROR: %nYou can't hide the last window";
|
|
||||||
cant_hide_sticky_windows = " %w-%c-%C- %K| %RError: %nYou can't hide sticky windows";
|
|
||||||
cant_show_sticky_windows = " %w-%c-%C- %K| %RError: %nYou can't show sticky windows";
|
|
||||||
window_not_sticky = " %w-%c-%C- %K| %WWindow: %nWindow is not sticky";
|
|
||||||
window_set_sticky = " %w-%c-%C- %K| %WWindow: %nWindow set sticky";
|
|
||||||
window_unset_sticky = " %w-%c-%C- %K| %WWindow: %nWindow set not sticky";
|
|
||||||
window_info_sticky = " %w-%c-%C- %K| %WWindow: %nWindow Sticky : $0";
|
|
||||||
Window_info_scroll = " %w-%c-%C- %K| %WWindow: %nWindow Scroll : $0";
|
|
||||||
paste_warning = " %w-%c-%C- %K| %rWARNING: %nTrying to paste %C$0%n lines to %W$1%n.";
|
|
||||||
paste_prompt = "%RPress Ctrl-K to continue, Ctrl-C to abort.";
|
|
||||||
};
|
|
||||||
"fe-common/core" = {
|
|
||||||
line_start_irssi = "";
|
|
||||||
join = " %w-%c-%C> %K|%n {channick_hilight $0} {chanhost_hilight $1} has joined %c{channel $2}";
|
|
||||||
part = " %w<%c-%C- %K|%n {channick_hilight $0} {chanhost_hilight $1} has left %c{channel $_$2$_} %K(%n{reason $3}%K)";
|
|
||||||
kick = " %w<%c-%C- %K|%n {nick $2} has kicked {channick_hilight $0} %nfrom %c{channel $_$1$_} %K(%n{reason $3}%K)";
|
|
||||||
quit = " %w<%c-%C- %K|%n {channick_hilight $0} %K[%c$1%K] %nhas quit %K(%n{reason $2}%K)";
|
|
||||||
names = " %w-%c-%C- %K|%C Users on $0:";
|
|
||||||
names_prefix = " %w-%c-%C- %K| ";
|
|
||||||
names_nick_op = "%K[%C$0%n$1-%K] ";
|
|
||||||
names_nick_halfop = "%K[%c$0%n$1-%K] ";
|
|
||||||
names_nick_voice = "%K[%c$0%n$1-%K] ";
|
|
||||||
names_nick = "%K[%n$0$1%K] ";
|
|
||||||
endofnames = " %w-%c-%C- %K| %nUsers %c$1 %nnicks %K[%c$2 %nops, %c$3 %nhalfops, %c$4 %nvoices, %c$5 %nnormal%K]";
|
|
||||||
quit_once = "{channel $3} {channick $0} {chanhost $1} %K(%n{reason $2}%K)%n {channel $_$2$_}";
|
|
||||||
nick_changed = " %w-%c-%C- %K| %W$0 %nis now known as %C$1";
|
|
||||||
chanmode_change = " %w-%c-%C- %K| %W{nickhilight $2} %nsets modes %K[%n{$channelhilight $0} {mode $1}%K]";
|
|
||||||
channel_mode = " %w-%c-%C- %K| %W{nickhilight $2} %nsets modes %K[%n{$channelhilight $0} {mode $1}%K]";
|
|
||||||
topic = " %w-%c-%C- %K| %nTopic for {channelhilight $0} is $1";
|
|
||||||
new_topic = " %w-%c-%C- %K| %W{nick $0} %nhas changed the topic to: %C$2";
|
|
||||||
topic_unset = " %w-%c-%C- %K| %nTopic unset by {nick $0} on {channel $1}";
|
|
||||||
daychange = " %w-%c-%C- %K| %nDay changed to %%d %%b %%Y";
|
|
||||||
your_nick_changed = " %w-%c-%C- %K| %nYou're now known as %W$1";
|
|
||||||
|
|
||||||
#pubmsg = "%b<%w$2\00311$[-11]0%b> %K|%n $1";
|
|
||||||
own_msg_private_query = "%m<%W$[-12]2%m> %K| %n$1";
|
|
||||||
msg_private_query = "%b<%w$[-12]0%b>%K | %n$2";
|
|
||||||
own_msg = "%m<%W$2$[-11]0%m>%K | %n$1";
|
|
||||||
own_msg_private = "%G>%w$[-12]0%G<%K |%n $1-";
|
|
||||||
pubmsg_me = "{pubmsgmenick {menick $[-11]0}}%K|%n $1";
|
|
||||||
pubmsg_me_channel = "{pubmsgmenick $3 {menick $[-11]0}{msgchannel $1}}%K|%n $2";
|
|
||||||
pubmsg_hilight = "{pubmsghinick $0 $3 $[-11]1}%K|%n $2";
|
|
||||||
pubmsg_hilight_channel = "{pubmsghinick $0 $4 $[-11]1{msgchannel $2}}%K|%n $3";
|
|
||||||
#pubmsg_channel = "{pubmsgnick {pubnick $[-11]0}{msgchannel $1}}%K|%n $2";
|
|
||||||
|
|
||||||
pubmsg = "{pubmsgnick $2 {pubnick \00304$0}}$1";
|
|
||||||
talking_with = " %w-%c-%C- %K| %nYou are now talking with %W$0";
|
|
||||||
refnum_too_low = " %w-%c-%C- %K| %WWindow: %nWindow number must be greater than 1";
|
|
||||||
error_server_sticky = " %w-%c-%C- %K| %WWindow: %nWindow's server is sticky, use -unsticky option to change";
|
|
||||||
set_server_sticky = " %w-%c-%C- %K| %WWindow: %nWindow's server set sticky";
|
|
||||||
unset_server_sticky = " %w-%c-%C- %K| %WWindow: %nWindow's server set not sticky";
|
|
||||||
window_name_not_unique = " %w-%c-%C- %K| %WWindow: %nWindow names must be unique";
|
|
||||||
window_level = " %w-%c-%C- %K| %WWindow: %nWindow level is now %C$0";
|
|
||||||
window_set_immortal = " %w-%c-%C- %K| %WWindow: %nWindow set immortal";
|
|
||||||
window_unset_immortal = " %w-%c-%C- %K| %WWindow: %nbWindow set not immortal";
|
|
||||||
window_immortal_error = " %w-%c-%C- %K| %WWindow: %nWindow is immortal";
|
|
||||||
windowlist_header = " %w-%c-%C- %K| %nRef Name Active item Server Level";
|
|
||||||
windowlist_line = " %w-%c-%C- %K| %n$[3]0 %|$[20]1 $[15]2 $[15]3 $4";
|
|
||||||
windowlist_footer = "";
|
|
||||||
windows_layout_saved = " %w-%c-%C- %K| %WWindow: %nLayout of windows saved";
|
|
||||||
windows_layout_reset = " %w-%c-%C- %K| %WWindow: %nLayout of windows reset to defaults";
|
|
||||||
window_info_header = "";
|
|
||||||
window_info_footer = "";
|
|
||||||
window_info_refnum = " %w-%c-%C- %K| %WWindow: %nWindow : %W$0";
|
|
||||||
window_info_refnum_sticky = " %w-%c-%C- %K| %WWindow: %nWindow : %W{hilight #$0 (sticky)}";
|
|
||||||
window_info_name = " %w-%c-%C- %K| %WWindow: %nName : $0";
|
|
||||||
window_info_history = " %w-%c-%C- %K| %WWindow: %nHistory : $0";
|
|
||||||
window_info_immortal = " %w-%c-%C- %K| %WWindow: %nImmortal: yes";
|
|
||||||
window_info_size = " %w-%c-%C- %K| %WWindow: %nSize : $0x$1";
|
|
||||||
window_info_level = " %w-%c-%C- %K| %WWindow: %nLevel : $0";
|
|
||||||
window_info_server = " %w-%c-%C- %K| %WWindow: %nServer : $0";
|
|
||||||
window_info_server_sticky = " %w-%c-%C- %K| %WWindow: %nServer : $0 (sticky)";
|
|
||||||
window_info_theme = " %w-%c-%C- %K| %WWindow: %nTheme : $0$1";
|
|
||||||
window_info_bound_items_header = " %w-%c-%C- %K| %WWindow: %nBounds : {hilight Name Server tag}";
|
|
||||||
window_info_bound_item = " %K | %n : $[!30]0 $[!15]1 $2";
|
|
||||||
window_info_bound_items_footer = "";
|
|
||||||
window_info_items_header = " %w-%c-%C- %K| %WWindow: %nItems : {hilight Name Server tag}";
|
|
||||||
window_info_item = " %w-%c-%C- %K| %WWindow: %n$[7]0: $[!30]1 $2";
|
|
||||||
window_info_items_footer = "";
|
|
||||||
looking_up = " %w-%c-%C- %K| %WServer: %nLooking up host %W$0";
|
|
||||||
connecting = " %w-%c-%C- %K| %WConnecting to %W$0 %K(%C$1%K) %non port %C$2";
|
|
||||||
connection_established = " %w-%c-%C- %K| %WServer:%n Connection to %W$0 %nestablished";
|
|
||||||
cant_connect = " %w-%c-%C- %K| %WServer:%n Unable to connect to %W$0 %non port %C$1 %K(%C$2%K)";
|
|
||||||
connection_lost = " %w-%c-%C- %K| %WServer:%n Connection lost to %W$0";
|
|
||||||
lag_disconnected = " %w-%c-%C- %K| %WServer:%n No PONG reply from server %W$0 %nin %C$1 %nseconds, disconnecting";
|
|
||||||
disconnected = " %w-%c-%C- %K| %WServer:%n Disconnected from %W$0 %K(%C$1%K)";
|
|
||||||
server_quit = " %w-%c-%C- %K| %WServer:%n Disconnecting from server %W$0%n: %C$1";
|
|
||||||
server_changed = " %w-%c-%C- %K| %WServer:%n Changed to %W{hilight $2} %nserver %C$1";
|
|
||||||
unknown_server_tag = " %w-%c-%C- %K| %RERROR:%n Server tag %W$0 %nnot found";
|
|
||||||
no_connected_servers = " %w-%c-%C- %K| %RERROR:%n Not connected to any servers";
|
|
||||||
server_list = " %w-%c-%C- %K| %WServer:%n $0: $1:$2 ($3)";
|
|
||||||
server_lookup_list = " %w-%c-%C- %K| %WServer:%n $0: $1:$2 ($3) (connecting...)";
|
|
||||||
server_reconnect_list = " %w-%c-%C- %K| %WServer:%n $0: $1:$2 ($3) ($5 left before reconnecting)";
|
|
||||||
server_reconnect_removed = " %w-%c-%C- %K| %WServer:%n Removed reconnection to server %W$0 %nport %C$1";
|
|
||||||
server_reconnect_not_found = " %w-%c-%C- %K| %WServer:%n Reconnection tag %W{hilight $0} %ndoes not exist";
|
|
||||||
setupserver_added = " %w-%c-%C- %K| %WServer:%n Server %W{hilight $0} %nsaved";
|
|
||||||
setupserver_removed = " %w-%c-%C- %K| %WServer:%n Server %W{hilight $0} %nremoved";
|
|
||||||
setupserver_not_found = " %w-%c-%C- %K| %WServer:%n Server %W{hilight $0} %ndoes not exist";
|
|
||||||
your_nick = " %w-%c-%C- %K| %nYour nickname is %W$0";
|
|
||||||
invite = " %w-%c-%C- %K| %W$0 %ninvites you to channel %W$1";
|
|
||||||
not_invited = " %w-%c-%C- %K| %nYou have not been invited to a channel!";
|
|
||||||
chanlist_header = " %w-%c-%C- %K| %WChannel: %nYou are on the following channels:";
|
|
||||||
chanlist_line = " %w-%c-%C- %K| %WChannel: %C{hilight $0} (+$1) [$2]: $3";
|
|
||||||
chansetup_not_found = " %w-%c-%C- %K| %WChannel: %nChannel %W{hilight $0} %ndoes not exist";
|
|
||||||
chansetup_added = " %w-%c-%C- %K| %WChannel: %nChannel %W{hilight $0} %nsaved";
|
|
||||||
chansetup_removed = " %w-%c-%C- %K| %WChannel: %nChannel %W{hilight $0} %nremoved";
|
|
||||||
chansetup_header = " %w-%c-%C- %K| %WChannel Network Password Settings";
|
|
||||||
chansetup_line = " %w-%c-%C- %K| %n{hilight $[15]0} $[10]1 $[10]2 $3";
|
|
||||||
chansetup_footer = "";
|
|
||||||
no_msgs_got = " %b{fq Error}%n | %bYou have not received a message from anyone yet";
|
|
||||||
no_msgs_sent = " %b{fq Error}%n | %bYou have not sent a message to anyone yet";
|
|
||||||
query_start = " %w-%c-%C- %K| %WQuery: %nStarting query with %W$0 %non %C$1";
|
|
||||||
query_stop = " %w-%c-%C- %K| %WQuery: %nClosing query with %W$0";
|
|
||||||
no_query = " %w-%c-%C- %K| %WQuery: %nNo query with %W$0";
|
|
||||||
query_server_changed = " %w-%c-%C- %K| %WQuery: %nQuery with %W$0 %nchanged to %C$1";
|
|
||||||
hilight_header = "";
|
|
||||||
hilight_line = " %w-%c-%C- %K| %WHilight: %n$[-4]0 $1 $2 $3$4";
|
|
||||||
hilight_footer = "";
|
|
||||||
hilight_not_found = " %w-%c-%C- %K| %WHighlight: %nHilight item %C{hilight $0} %ndoes not exist";
|
|
||||||
hilight_removed = " %w-%c-%C- %K| %WHilight: %nHighlight item %C{hilight $0} removed";
|
|
||||||
alias_added = " %w-%c-%C- %K| %WAlias: %nAlias %W{hilight $0} %nadded";
|
|
||||||
alias_removed = " %w-%c-%C- %K| %WAlias: %nAlias %W{hilight $0} %nremoved";
|
|
||||||
alias_not_found = " %w-%c-%C- %K| %WAlias: %nAlias %W{hilight $0} %ndoes not exist";
|
|
||||||
aliaslist_header = "";
|
|
||||||
aliaslist_line = " %w-%c-%C- %K| %WAlias: %n$[10]0 $1";
|
|
||||||
aliaslist_footer = "";
|
|
||||||
no_away_msgs = " %w-%c-%C- %K| %WAwayLog: %nYou have no messages waiting";
|
|
||||||
away_msgs = " %w-%c-%C- %K| %WAwayLog: %nYou have %C$1 %nmessages waiting:";
|
|
||||||
command_unknown = " %w-%c-%C- %K| %RERROR: %nUnknown command %C{hilight $0}";
|
|
||||||
command_ambiguous = " %w-%c-%C- %K| %RERROR: %nAmbiguous command %C{hilight $0}";
|
|
||||||
option_unknown = " %w-%c-%C- %K| %RERROR: %nUnknown option %C{hilight $0}";
|
|
||||||
option_ambiguous = " %w-%c-%C- %K| %RERROR: %nAmbiguous option %C{hilight $0}";
|
|
||||||
option_missing_arg = " %w-%c-%C- %K| %RERROR: %nMissing required argument for %C{hilight $0}";
|
|
||||||
not_enough_params = " %w-%c-%C- %K| %RERROR: %nNot enough parameters given";
|
|
||||||
not_connected = " %w-%c-%C- %K| %RERROR: %nNot connected to server";
|
|
||||||
not_joined = " %w-%c-%C- %K| %RERROR: %nNot joined to any channel";
|
|
||||||
chan_not_found = " %w-%c-%C- %K| %RERROR: %nNot joined to this channel";
|
|
||||||
chan_not_synced = " %w-%c-%C- %K| %RERROR: %nChannel not fully synchronized yet, try again after a while";
|
|
||||||
illegal_proto = " %w-%c-%C- %K| %RERROR: %nCommand isn't designed for the chat protocol of the active server";
|
|
||||||
not_good_idea = " %w-%c-%C- %K| %RERROR: %nDoing this is not a good idea. Add -YES if you really mean it";
|
|
||||||
format_title = " %w-%c-%C- %K| %WFormat: %n{hilight $0}%n%: %w-%c-%C- %K| %WFormat: %n {hilight $1}";
|
|
||||||
format_subtitle = " %w-%c-%C- %K| %WFormat: %n {hilight $0}";
|
|
||||||
format_item = " %w-%c-%C- %K| %WFormat:%W $0 =%C \"$1\";";
|
|
||||||
ignored = " %w-%c-%C- %K| %WIgnore: %nIgnoring %C{hilight $1} %nfrom %W{nick $0}";
|
|
||||||
ignored_options = " %w-%c-%C- %K| %WIgnore: %nIgnoring %C{hilight $1} %nfrom %W{nick $0} ($2)";
|
|
||||||
unignored = " %w-%c-%C- %K| %WIgnore: %nUnignored %W{nick $0}";
|
|
||||||
ignore_not_found = " %w-%c-%C- %K| %W{nick $0} %nis not being ignored";
|
|
||||||
ignore_no_ignores = " %w-%c-%C- %K| %nThere are no ignores";
|
|
||||||
ignore_header = " %w-%c-%C- %K| %n%# Num Mask Type Options";
|
|
||||||
ignore_line = " %w-%c-%C- %K| %n%#$[-4]0 $[32]1 $[10]2 $3 $4";
|
|
||||||
ignore_footer = "";
|
|
||||||
bind_header = " %w-%c-%C- %K| %n%#Key Action";
|
|
||||||
bind_list = " %w-%c-%C- %K| %n%#$[!16]0 $1 $2";
|
|
||||||
bind_footer = "";
|
|
||||||
no_completions = " %w-%c-%C- %K| %nThere are no completions";
|
|
||||||
completion_removed = " %w-%c-%C- %K| %nRemoved completion %W$0";
|
|
||||||
completion_header = " %w-%c-%C- %K| %n%#Key Value Auto";
|
|
||||||
completion_line = " %w-%c-%C- %K| %n%#$[10]0 $[!40]1 $2";
|
|
||||||
completion_footer = "";
|
|
||||||
theme_saved = " %w-%c-%C- %K| %nTheme saved to %W$0";
|
|
||||||
theme_save_failed = " %w-%c-%C- %K| %RERROR:%n Error saving theme to %W$0: $1";
|
|
||||||
theme_not_found = " %w-%c-%C- %K| %RERROR:%n Theme %W{hilight $0} %nnot found";
|
|
||||||
theme_changed = " %w-%c-%C- %K| %nNow using theme %W{hilight $0} ($1)";
|
|
||||||
unknown_chatnet = " %w-%c-%C- %K| %RERROR: %nUnknown chat network %W{hilight $0}";
|
|
||||||
perl_error = " %w-%c-%C- %K| %RERROR: %n%RPerl error: $0";
|
|
||||||
config_saved = " %w-%c-%C- %K| %WSaved configuration to file %C$0";
|
|
||||||
config_reloaded = " %w-%c-%C- %K| %WReloaded configuration";
|
|
||||||
config_modified = " %w-%c-%C- %K| %WConfiguration file was modified since irssi was last started - do you want to overwrite the possible changes?";
|
|
||||||
set_title = " %w-%c-%C- %K| %WSET: %W{hilight $0}:";
|
|
||||||
set_item = " %w-%c-%C- %K| %WSET:%W $0 %n= %C$1";
|
|
||||||
set_unknown = " %w-%c-%C- %K| %WSET: %nUnknown setting {hilight $0}";
|
|
||||||
set_not_boolean = " %w-%c-%C- %K| %WSET: %nSetting %C{hilight $0} %nis not boolean, use /SET";
|
|
||||||
not_toggle = " %w-%c-%C- %K| %RERROR: %nValue must be either ON, OFF or TOGGLE";
|
|
||||||
talking_in = " %b{fq Irssi}%n | %bYou are now talking in %W$0";
|
|
||||||
not_in_channels = " %b{fq Channels}%n | %bYou are not on any channels";
|
|
||||||
current_channel = " %b{fq Channels}%n | %bCurrent channel $0";
|
|
||||||
};
|
|
||||||
"fe-common/irc" = {
|
|
||||||
usermode_change = " %w-%c-%C- %K| %nMode change %C{mode $0}%n for user {nick $1}";
|
|
||||||
ircnet_added = " %w-%c-%C- %K| %WIRCnet %W{hilight $0} %nsaved";
|
|
||||||
ircnet_removed = " %w-%c-%C- %K| %WIRCnet %W{hilight $0} %nremoved";
|
|
||||||
ircnet_not_found = " %w-%c-%C- %K| %WIRCnet %W{hilight $0} %ndoes not exist";
|
|
||||||
ircnet_header = " %w-%c-%C- %K| %WIRCnets:";
|
|
||||||
ircnet_footer = "";
|
|
||||||
setupserver_header = " %w-%c-%C- %K| %WServer Port Network Settings";
|
|
||||||
setupserver_line = " %w-%c-%C- %K| %n$[!20]0 $[5]1 $[10]2 $3";
|
|
||||||
setupserver_footer = "";
|
|
||||||
joinerror_toomany = " %w-%c-%C- %K| %RERROR: %nCannot join channel %W$0%n (You have joined too many channels)";
|
|
||||||
joinerror_full = " %w-%c-%C- %K| %RERROR: %nCannot join channel %W$0%n (Channel is full)";
|
|
||||||
joinerror_invite = " %w-%c-%C- %K| %RERROR: %nCannot join channel %W$0%n (Channel is invite only)";
|
|
||||||
joinerror_banned = " %w-%c-%C- %K| %RERROR: %nCannot join channel %W$0%n (You are banned!)";
|
|
||||||
joinerror_bad_key = " %w-%c-%C- %K| %RERROR: %nCannot join channel %W$0%n (Channel is keyword protected)";
|
|
||||||
joinerror_bad_mask = " %w-%c-%C- %K| %RERROR: %nCannot join channel %W$0%n (Bad channel mask)";
|
|
||||||
joinerror_unavail = " %w-%c-%C- %K| %RERROR: %nCannot join channel %W$0%n (Channel is temporarily unavailable)";
|
|
||||||
joinerror_duplicate = " %w-%c-%C- %K| %RERROR: %nCannot create channel %W$0%n, it already exists";
|
|
||||||
joinerror_rejoin = " %w-%c-%C- %K| %RERROR: %nChannel %W$0%n is temporarily unavailable. Trying to rejoin automatically, use /RMREJOINS to abort.";
|
|
||||||
inviting = " %w-%c-%C- %K| %WInviting: %W$0 %nto %C$1";
|
|
||||||
chanmode_change = " %w-%c-%C- %K| %W{nickhilight $2} %nsets modes %K[%n{$channelhilight $0} {mode $1}%K]";
|
|
||||||
url = " %w-%c-%C- %K| %nHome page for channel %W$0 %nis at %C$1";
|
|
||||||
bantype = " %w-%c-%C- %K| %nBan type set to $0";
|
|
||||||
no_bans = " %w-%c-%C- %K| %nNo bans set in channel %C$0";
|
|
||||||
banlist = " %w-%c-%C- %K| %n$[-2]0. $1: $2";
|
|
||||||
banlist_long = " %w-%c-%C- %K| %n$[-2]0. $1: $2 (set by $3 $4 secs ago)";
|
|
||||||
nick_away = " %w-%c-%C- %K| %W$0 %nis away: %C$1";
|
|
||||||
no_such_nick = " %w-%c-%C- %K| %W{hilight $0}%n: no such nick/channel";
|
|
||||||
nick_in_use = " %w-%c-%C- %K| %nNick %W$0%n is already in use";
|
|
||||||
nick_unavailable = " %w-%c-%C- %K| %nNick %W$0%n is temporarily unavailable";
|
|
||||||
your_nick_owned = " %w-%c-%C- %K| %nYour nick is owned by %W$3 %K(%C$1@$2%K)";
|
|
||||||
notice_server = " %w-%c-%C- %K| %WServer: $n[$0] $1";
|
|
||||||
kill = " %w-%c-%C- %K| %RKILLED!! %nYou were killed by %W$0 %C($1): $2 (Path: $3)";
|
|
||||||
kill_server = " %w-%c-%C- %K| %RKILLED!! %nYou were killed by $0: $1 (Path: $2)";
|
|
||||||
error = " %w-%c-%C- %K| %RERROR: %n$0";
|
|
||||||
default_event = " %w-%c-%C- %K| %WServer:%n $1";
|
|
||||||
default_event_server = " %w-%c-%C- %K| %n[$0] $2: $1";
|
|
||||||
channel_mode = " %w-%c-%C- %K| %W{nick $2} %nsets modes %K[%n{$channelhilight $0} {mode $1}%K]";
|
|
||||||
topic = " %w-%c-%C- %K| %nTopic for %W{channelhilight $0}%n is:%C $1";
|
|
||||||
channel_created = " %w-%c-%C- %K| %nChannel %W$0 %nwas created on %c$1";
|
|
||||||
no_topic = " %w-%c-%C- %K| %nNo topic set for {channelhilight $0}";
|
|
||||||
topic_info = " %w-%c-%C- %K| %nTopic set by {nick $0} {nickhost $2} {comment $1}";
|
|
||||||
away = " %w-%c-%C- %K| %nYou have been marked as being away";
|
|
||||||
unaway = " %w-%c-%C- %K| %nYou are no longer marked as being away";
|
|
||||||
whois = " %w-%c-%C- %K| %b[%n$0%b] %n($1@$2) %n: $3";
|
|
||||||
whois_channels = " %w-%c-%C- %K| %b[%n$0%b] %n$1";
|
|
||||||
whois_idle = " %w-%c-%C- %K| %b[%n$0%b] %n$1 days $2 hours $3 minet $4 secs";
|
|
||||||
whois_server = " %w-%c-%C- %K| %b[%n$0%b] %n$1 [$2]";
|
|
||||||
whois_idle_signon = " %w-%c-%C- %K| %b[%w$0%b] %nIdle%w $1 days $2 hours $3 minutes $4 seconds, Signon $5";
|
|
||||||
whois_oper = " %w-%c-%C- %K| %b[%n$0%b]%n $1 $2 $3 $4";
|
|
||||||
whois_ip = " %w-%c-%C- %K| %b[%n$0%b]%n IP: $1";
|
|
||||||
end_of_whois = " %w-%c-%C- %K| %b[%n$0%b] %nEnd of WHOIS List";
|
|
||||||
whois_away = " %w-%c-%C- %K| %b[%n$0%b] %nis Away: %|$1";
|
|
||||||
whois_registered = " %w-%c-%C- %K| %b[%n$0%b] %nhas registered this nick";
|
|
||||||
whowas = " %w-%c-%C- %K| %b[%n$0%b]%n WAS ($1@$2) : $3";
|
|
||||||
end_of_whowas = " %w-%c-%C- %K| %b[%n$0%b] %nEnd of WHOWAS List";
|
|
||||||
who = " %w-%c-%C- %K| %b[%n$1%b]%n %n$4@$5 ($6) [Server: $7, $3 Hops]";
|
|
||||||
end_of_who = " %w-%c-%C- %K| %b[%n$0%b] %nEnd of WHO list";
|
|
||||||
whois_not_found = " %w-%c-%C- %K| %b[%n$0%b]%n No such nick";
|
|
||||||
notice_public = "%W-%m$[-12]{0}%W- %K| %b(%m$1%b)%n $2";
|
|
||||||
notice_private = "%b-%M$[-12]{0}%b- %K| %b(%M$1%b)%n $2";
|
|
||||||
own_notice = "%G>%W$[-12]0%G< %K| %n$1-";
|
|
||||||
channel_synced = " %w-%c-%C- %K| %nChannel %W{channel $0} %nwas synced in %C{hilight $1} %nseconds";
|
|
||||||
netsplit = " %w<%c-%C- %K| %RNetsplit:%W $0 %R<-> %W$1 %nquits: %C$2";
|
|
||||||
netsplit_more = " %w<%c-%C- %K| %RNetsplit: %W$0%R <-> %W$1 %nquits: %C$2 %n(+$3 more)";
|
|
||||||
netsplit_join = " %w-%c-%C> %K| %gNetsplit Over%n - Joins: %C$0";
|
|
||||||
netsplit_join_more = " %w-%c-%C> %K| %nJoins: %n$0 (+$1 more)";
|
|
||||||
no_netsplits = " %w-%c-%C- %K| %nThere are no net splits";
|
|
||||||
netsplits_header = " %w-%c-%C- %K| %n%C%#Nick Channel Server Splitted server";
|
|
||||||
netsplits_line = " %w-%c-%C- %K| %n%#$[15]0 $[10]1 $[20]2 $[20]3";
|
|
||||||
netsplits_footer = "";
|
|
||||||
server_chanmode_change = " %w-%c-%C- %K| %W$2%n sets modes %K[%n$0 $1%K]%n";
|
|
||||||
ctcp_reply = " %w-%c-%C- %K| %nGot %C$0 %nreply from %W$1: %C$2";
|
|
||||||
ctcp_reply_channel = " %w-%c-%C- %K| %nGot %C$0 %nreply from %W$1 %nin channel %c$3: $2";
|
|
||||||
ctcp_ping_reply = " %w-%c-%C- %K| %nGot %CPING %nresponse from %W$0: %c$1.$[-3.0]2 %nseconds";
|
|
||||||
ctcp_requested = " %w-%c-%C- %K| %nGot %C$2 %nrequest from %W$0 %n($1) to $4: $3";
|
|
||||||
ctcp_requested_unknown = " %w-%c-%C- %K| %nGot unknown %C$2%n request from %c$0 %n($1) to %n$4: $3";
|
|
||||||
own_ctcp = " %w-%c-%C- %K| %nSending %WCTCP %C$1 %nto %c$0: $2";
|
|
||||||
};
|
|
||||||
"fe-common/perl" = {
|
|
||||||
script_not_found = " %w-%c-%C- %K| %rScript: %W{hilight $0} %nnot found";
|
|
||||||
script_not_loaded = " %w-%c-%C- %K| %rScript: %W{hilight $0} is not loaded";
|
|
||||||
script_loaded = " %w-%c-%C- %K| %rScript: %nLoded script %W{hilight $0}";
|
|
||||||
script_unloaded = " %w-%c-%C- %K| %rScript: %nUnloaded script %W{hilight $0}";
|
|
||||||
no_scripts_loaded = " %w-%c-%C- %K| %rScript: %nNo scripts are loaded";
|
|
||||||
script_list_header = " %w-%c-%C- %K| %rScript Path";
|
|
||||||
script_list_line = " %w-%c-%C- %K| %n$[!20]0 $1";
|
|
||||||
script_list_footer = "";
|
|
||||||
script_error = " %w-%c-%C- %K| %rScript: ERROR %n in script %W{hilight $0}:";
|
|
||||||
};
|
|
||||||
|
|
||||||
"fe-common/irc/notifylist" = {
|
|
||||||
notify_join = " %w-%c-%C- %K| %WNotify: %W{hilight $0} %C($1@$2) [$3] %nhas connected to %C$4";
|
|
||||||
notify_part = " %w-%c-%C- %K| %WNotify: %W{hilight $0}%n has disconnected from %C$4";
|
|
||||||
notify_away = " %w-%c-%C- %K| %WNotify: %W{hilight $0} %C[$5] ($1@$2) [$3] %nis now away: %C$4";
|
|
||||||
notify_unaway = " %w-%c-%C- %K| %WNotify: %W{hilight $0} %C($1@$2) [$3] %nis no longer away on %C$4";
|
|
||||||
notify_unidle = " %w-%c-%C- %K| %WNotify: %W{hilight $0} %C($1@$2) [$3] %njust stopped idling on %C$5";
|
|
||||||
notify_online = " %w-%c-%C- %K| %WNotify: %WOnline: $0: {hilight $1}";
|
|
||||||
notify_offline = " %w-%c-%C- %K| %WNotify: %WOffline: $0";
|
|
||||||
notify_list = " %w-%c-%C- %K| %n#$0: $1 $2 $3";
|
|
||||||
notify_list_empty = " %w-%c-%C- %K| %WNotify: %nThe notify list is empty";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue