# ~/.irssi/config servers = ( { address = "eu.irc6.net"; chatnet = "IRCnet"; port = "6667"; }, { address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; }, { address = "irc.link-net.org"; chatnet = "LinkNet"; port = "6667"; }, { address = "irc.oftc.net"; chatnet = "OFTC"; port = "6667"; }, { address = "irc.quakenet.org"; chatnet = "QuakeNet"; port = "6667"; }, { address = "irc.rizon.net"; chatnet = "Rizon"; port = "6667"; }, { address = "irc.undernet.org"; chatnet = "Undernet"; port = "6667"; }, { address = "irc.webchat.org"; chatnet = "WebChat"; port = "6667"; }, { address = "open.ircnet.net"; chatnet = "IRCnet"; port = "6667"; }, { address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; }, { address = "irc.efnet.org"; chatnet = "EFnet"; port = "6667"; autoconnect = "no"; }, { address = "irc.indymedia.org"; chatnet = "IRCnet"; port = "6667"; autoconnect = "no"; }, { address = "irc.freenode.net"; chatnet = "IRCnet"; port = "6667"; autoconnect = "no"; use_ssl = "no"; ssl_verify = "no"; } ); 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"; }; 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 = "#debian"; chatnet = "IRCnet"; autojoin = "yes"; } # ); aliases = { ATAG = "WINDOW SERVER"; B = "ban"; BANS = "ban"; C = "connect irc.freenode.net IRCnet 6667"; CALC = "exec - if command -v bc >/dev/null 2>&1\\; then printf '%s=' '$*'\\; echo '$*' | bc -l\\; else echo bc was not found\\; fi"; CHAT = "dcc chat"; CL = "clear"; DATE = "time"; DESCRIBE = "action"; EXEMPTLIST = "mode $C +e"; GOTO = "sb goto"; H = "hs"; HOST = "userhost"; IG = "ignore"; INVITELIST = "mode $C +I"; J = "join"; K = "kick"; KB = "kickban"; KN = "knockout"; LAST = "lastlog"; LEAVE = "part"; M = "msg"; MUB = "unban *"; N = "names"; Q = "QUERY"; RESET = "set -default"; RUN = "SCRIPT LOAD"; SAY = "msg *"; SB = "scrollback"; SBAR = "STATUSBAR"; SIGNOFF = "quit"; SV = "say Irssi $J ($V) - http://irssi.org/"; T = "topic"; UB = "unban"; UMODE = "mode $N"; UNIG = "unignore"; UNSET = "set -clear"; W = "who"; WC = "window close"; WI = "whois"; WII = "whois $0 $0"; WJOIN = "join -window"; WN = "window new hide"; WQUERY = "query -window"; WW = "whowas"; }; 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 = { barstart = "{sbstart}"; barend = "{sbend}"; topicbarstart = "{topicsbstart}"; topicbarend = "{topicsbend}"; # treated "normally": you can 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"; # "sort of" in the middle: # echo "$COLUMNS/2 - `expr length "irssi"`/2" | bc # 34 # (Emacs: M-34 Space) topic_empty = " irssi"; # all of these treated specially, only displayed when needed lag = "{sb Lag: $0-}"; act = "{sb Act: $0-}"; more = "-- more --"; CLI_prompt_beg = "%g[ "; CLI_prompt_end = " %g]"; }; # There's two types of statusbars: # - root statusbars: at the top or at the bottom of the screen # - window statusbars: at the top/bottom of each split window default = { # The "default statusbar" is displayed at the bottom of the window, # and contains all the normal items. window = { disabled = "no"; type = "window"; # window, root placement = "bottom"; # top, bottom position = "1"; # number visible = "always"; # active, inactive, always # 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 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 the input line as yet another statusbar :) prompt = { type = "root"; placement = "bottom"; # we want to be at the bottom, always position = "100"; visible = "always"; items = { CLI_prompt_beg = { priority = "-1"; }; # prompt = { priority = "-1"; }; # prompt_empty = { priority = "-1"; }; # treated specially, this is the real input line: input = { priority = "10"; }; CLI_prompt_end = { priority = "-1"; alignment = "right"; }; }; }; # topicbar topic = { type = "root"; placement = "top"; position = "1"; visible = "always"; items = { topicbarstart = { priority = "100"; }; topic = { }; topic_empty = { }; topicbarend = { priority = "100"; alignment = "right"; }; }; }; }; }; settings = { core = { user_name = "incal"; nick = "incal"; log_day_changed = "Oh no, the day changed!"; real_name = "Emanuel Berg"; }; "fe-text" = { actlist_sort = "refnum"; }; }; ignores = ( { level = "KICKS JOINS PARTS QUITS NICKS MODES"; }, { level = "ACTIONS"; pattern = "is (away|gone|back)"; regexp = "yes"; }, { mask = "MonicaOff"; level = "ALL"; }, { mask = "*away*"; level = "ALL"; }, { mask = "*afk*"; level = "ALL"; }, { mask = "*zzz*"; level = "ALL"; }, { mask = "soly"; level = "ALL"; }, { mask = "nerdlord"; level = "ALL"; } ); keyboard = ( ## command history { key = "^P"; id = "backward_history"; data = ""; }, { key = "^N"; id = "forward_history"; data = ""; }, # # go to start/end { key = "^Oi"; id = "scroll_start"; data = ""; }, { key = "^Ok"; id = "scroll_end"; data = ""; }, # # scroll line { key = "^U"; id = "command"; data = "scrollback goto -1"; }, { key = "^K"; id = "command"; data = "scrollback goto +1"; }, # should be *_char* but doesn't work # _word better inserting wierd chars { key = "^F"; id = "forward_word"; data = ""; }, { key = "^B"; id = "backward_word"; data = ""; }, # misc { key = "^W"; id = "command"; data = "window kill"; }, { key = "meta-r"; id = "command"; data = "reload"; } );