forked from PsychoticNinja/irssi
256 colour patch is cleaned up and the remaining cases are made work, this includes especially Theme support, which was not implemented before. Changes not related to colours were reverted again, making a review of the two patches against master easier to follow. As a byproduct of the Hex-colour code parser, the 24bit colours are also implemented. Actually using them in the terminal is guarded by a compile time switch (as well as a run time switch), as it breaks the existing colour protocol and requires additional storage. To make a seamless usage, down-conversion is provided for 8 and 16 colours. Diverging from Tom's approach, the colour protocol is reverted back to the original one. Unfortunately, the changes required in the Theme engine will break the API. For more details, please refer to the patch documentation at either http://irssi-docs.wikispaces.com/Notes-256-Colour or https://github.com/shabble/irssi-docs/wiki/Notes-256-Colour
255 lines
7.7 KiB
Plaintext
255 lines
7.7 KiB
Plaintext
servers = (
|
|
{ address = "eu.irc6.net"; chatnet = "IRCnet"; port = "6667"; },
|
|
{ address = "open.ircnet.net"; chatnet = "IRCnet"; port = "6667"; },
|
|
{ address = "chat.freenode.net"; chatnet = "Freenode"; port = "6667"; },
|
|
{ address = "irc.efnet.org"; chatnet = "EFNet"; port = "6667"; },
|
|
{ address = "irc.undernet.org"; chatnet = "Undernet"; port = "6667"; },
|
|
{ address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; },
|
|
{ address = "irc.quakenet.org"; chatnet = "QuakeNet"; port = "6667"; },
|
|
{ address = "irc.oftc.net"; chatnet = "OFTC"; port = "6667"; },
|
|
{ address = "irc.gamesurge.net"; chatnet = "GameSurge"; port = "6667"; },
|
|
{ address = "irc.webchat.org"; chatnet = "WebChat"; port = "6667"; },
|
|
{ address = "irc.rizon.net"; chatnet = "Rizon"; port = "6667"; },
|
|
{ address = "irc.link-net.org"; chatnet = "LinkNet"; port = "6667"; },
|
|
{ address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; }
|
|
);
|
|
|
|
chatnets = {
|
|
IRCnet = {
|
|
type = "IRC";
|
|
max_kicks = "4";
|
|
max_msgs = "5";
|
|
max_whois = "4";
|
|
max_query_chans = "5";
|
|
};
|
|
EFNet = {
|
|
type = "IRC";
|
|
max_kicks = "4";
|
|
max_msgs = "3";
|
|
max_whois = "1";
|
|
};
|
|
Freenode = {
|
|
type = "IRC";
|
|
max_kicks = "1";
|
|
max_msgs = "4";
|
|
max_whois = "1";
|
|
};
|
|
Undernet = {
|
|
type = "IRC";
|
|
max_kicks = "1";
|
|
max_msgs = "3";
|
|
max_whois = "30";
|
|
};
|
|
DALnet = {
|
|
type = "IRC";
|
|
max_kicks = "4";
|
|
max_msgs = "3";
|
|
max_whois = "30";
|
|
};
|
|
QuakeNet = {
|
|
type = "IRC";
|
|
max_kicks = "1";
|
|
max_msgs = "3";
|
|
max_whois = "30";
|
|
};
|
|
OFTC = {
|
|
type = "IRC";
|
|
max_kicks = "1";
|
|
max_msgs = "3";
|
|
max_whois = "30";
|
|
};
|
|
GameSurge = {
|
|
type = "IRC";
|
|
max_kicks = "1";
|
|
max_msgs = "3";
|
|
max_whois = "30";
|
|
};
|
|
WebChat = {
|
|
type = "IRC";
|
|
max_kicks = "1";
|
|
max_msgs = "3";
|
|
max_whois = "30";
|
|
};
|
|
Rizon = {
|
|
type = "IRC";
|
|
max_kicks = "1";
|
|
max_msgs = "3";
|
|
max_whois = "30";
|
|
};
|
|
LinkNet = {
|
|
type = "IRC";
|
|
max_kicks = "1";
|
|
max_msgs = "3";
|
|
max_whois = "30";
|
|
};
|
|
SILC = { type = "SILC"; };
|
|
};
|
|
|
|
channels = (
|
|
{ name = "#irssi"; chatnet = "ircnet"; autojoin = "No"; },
|
|
{ name = "silc"; chatnet = "silc"; autojoin = "No"; }
|
|
);
|
|
|
|
aliases = {
|
|
J = "join";
|
|
WJOIN = "join -window";
|
|
WQUERY = "query -window";
|
|
LEAVE = "part";
|
|
BYE = "quit";
|
|
EXIT = "quit";
|
|
SIGNOFF = "quit";
|
|
DESCRIBE = "action";
|
|
DATE = "time";
|
|
HOST = "userhost";
|
|
LAST = "lastlog";
|
|
SAY = "msg *";
|
|
WI = "whois";
|
|
WII = "whois $0 $0";
|
|
WW = "whowas";
|
|
W = "who";
|
|
N = "names";
|
|
M = "msg";
|
|
T = "topic";
|
|
C = "clear";
|
|
CL = "clear";
|
|
K = "kick";
|
|
KB = "kickban";
|
|
KN = "knockout";
|
|
BANS = "ban";
|
|
B = "ban";
|
|
MUB = "unban *";
|
|
UB = "unban";
|
|
IG = "ignore";
|
|
UNIG = "unignore";
|
|
SB = "scrollback";
|
|
UMODE = "mode $N";
|
|
WC = "window close";
|
|
WN = "window new hide";
|
|
SV = "say Irssi $J ($V) - http://irssi.org/";
|
|
GOTO = "sb goto";
|
|
CHAT = "dcc chat";
|
|
RUN = "SCRIPT LOAD";
|
|
CALC = "exec - if command -v bc >/dev/null 2>&1\\; then printf '%s=' '$*'\\; echo '$*' | bc -l\\; else echo bc was not found\\; fi";
|
|
CUBES = "/script exec Irssi::active_win->print(\"%_bases\", MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print( do { join '', map { \"%x0\\${_}0\\$_\" } '0'..'9','A'..'F' }, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print(\"%_cubes\", MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print( do { my \\$y = \\$_*6 \\; join '', map { my \\$x = \\$_ \\; map { \"%x\\$x\\$_\\$x\\$_\" } @{['0'..'9','A'..'Z']}[\\$y .. \\$y+5] } 1..6 }, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) for 0..5 \\; Irssi::active_win->print(\"%_grays\", MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print( do { join '', map { \"%x7\\${_}7\\$_\" } 'A'..'X' }, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) \\; Irssi::active_win->print(\"%_mIRC extended colours\", MSGLEVEL_CLIENTCRAP) \\; my \\$x \\; \\$x .= sprintf \"\00399,%02d%02d\",\\$_,\\$_ for 0..15 \\; Irssi::active_win->print(\\$x, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) \\; for my \\$z (0..6) { my \\$x \\; \\$x .= sprintf \"\00399,%02d%02d\",\\$_,\\$_ for 16+(\\$z*12)..16+(\\$z*12)+11 \\; Irssi::active_win->print(\\$x, MSGLEVEL_NEVER | MSGLEVEL_CLIENTCRAP) }";
|
|
SBAR = "STATUSBAR";
|
|
INVITELIST = "mode $C +I";
|
|
Q = "QUERY";
|
|
"MANUAL-WINDOWS" = "set use_status_window off;set autocreate_windows off;set autocreate_query_level none;set autoclose_windows off;set reuse_unused_windows on;save";
|
|
EXEMPTLIST = "mode $C +e";
|
|
ATAG = "WINDOW SERVER";
|
|
UNSET = "set -clear";
|
|
RESET = "set -default";
|
|
};
|
|
|
|
statusbar = {
|
|
# formats:
|
|
# when using {templates}, the template is shown only if it's argument isn't
|
|
# empty unless no argument is given. for example {sb} is printed always,
|
|
# but {sb $T} is printed only if $T isn't empty.
|
|
|
|
items = {
|
|
# start/end text in statusbars
|
|
barstart = "{sbstart}";
|
|
barend = "{sbend}";
|
|
|
|
topicbarstart = "{topicsbstart}";
|
|
topicbarend = "{topicsbend}";
|
|
|
|
# treated "normally", you could change the time/user name to whatever
|
|
time = "{sb $Z}";
|
|
user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}";
|
|
|
|
# treated specially .. window is printed with non-empty windows,
|
|
# window_empty is printed with empty windows
|
|
window = "{sb $winref:$tag/$itemname{sbmode $M}}";
|
|
window_empty = "{sb $winref{sbservertag $tag}}";
|
|
prompt = "{prompt $[.15]itemname}";
|
|
prompt_empty = "{prompt $winname}";
|
|
topic = " $topic";
|
|
topic_empty = " Irssi v$J - http://www.irssi.org";
|
|
|
|
# all of these treated specially, they're only displayed when needed
|
|
lag = "{sb Lag: $0-}";
|
|
act = "{sb Act: $0-}";
|
|
more = "-- more --";
|
|
};
|
|
|
|
# there's two type of statusbars. root statusbars are either at the top
|
|
# of the screen or at the bottom of the screen. window statusbars are at
|
|
# the top/bottom of each split window in screen.
|
|
default = {
|
|
# the "default statusbar" to be displayed at the bottom of the window.
|
|
# contains all the normal items.
|
|
window = {
|
|
disabled = "no";
|
|
|
|
# window, root
|
|
type = "window";
|
|
# top, bottom
|
|
placement = "bottom";
|
|
# number
|
|
position = "1";
|
|
# active, inactive, always
|
|
visible = "active";
|
|
|
|
# list of items in statusbar in the display order
|
|
items = {
|
|
barstart = { priority = "100"; };
|
|
time = { };
|
|
user = { };
|
|
window = { };
|
|
window_empty = { };
|
|
lag = { priority = "-1"; };
|
|
act = { priority = "10"; };
|
|
more = { priority = "-1"; alignment = "right"; };
|
|
barend = { priority = "100"; alignment = "right"; };
|
|
};
|
|
};
|
|
|
|
# statusbar to use in inactive split windows
|
|
window_inact = {
|
|
type = "window";
|
|
placement = "bottom";
|
|
position = "1";
|
|
visible = "inactive";
|
|
items = {
|
|
barstart = { priority = "100"; };
|
|
window = { };
|
|
window_empty = { };
|
|
more = { priority = "-1"; alignment = "right"; };
|
|
barend = { priority = "100"; alignment = "right"; };
|
|
};
|
|
};
|
|
|
|
# we treat input line as yet another statusbar :) It's possible to
|
|
# add other items before or after the input line item.
|
|
prompt = {
|
|
type = "root";
|
|
placement = "bottom";
|
|
# we want to be at the bottom always
|
|
position = "100";
|
|
visible = "always";
|
|
items = {
|
|
prompt = { priority = "-1"; };
|
|
prompt_empty = { priority = "-1"; };
|
|
# treated specially, this is the real input line.
|
|
input = { priority = "10"; };
|
|
};
|
|
};
|
|
|
|
# topicbar
|
|
topic = {
|
|
type = "root";
|
|
placement = "top";
|
|
position = "1";
|
|
visible = "always";
|
|
items = {
|
|
topicbarstart = { priority = "100"; };
|
|
topic = { };
|
|
topic_empty = { };
|
|
topicbarend = { priority = "100"; alignment = "right"; };
|
|
};
|
|
};
|
|
};
|
|
};
|