# vim:ft=config:foldmethod=marker # ====================================================================== # irssi config # Author: Domingo Stephan domingo.stephan at ischeriad dot de # ====================================================================== servers = ( # {{{ { address = "irc.stealth.net"; chatnet = "IRCnet"; port = "6668"; }, { address = "irc.oftc.net"; chatnet = "oftc"; port = "6667"; use_ssl = "no"; ssl_verify = "no"; autoconnect = "yes"; }, { address = "irc.freenode.org"; chatnet = "freenode"; port = "6667"; use_ssl = "no"; ssl_verify = "no"; autoconnect = "yes"; }, { address = "irc.euirc.net"; chatnet = "euirc"; port = "6667"; use_ssl = "no"; ssl_verify = "no"; autoconnect = "yes"; }, { address = "localhost"; chatnet = "bitlbee"; port = "6667"; autoconnect = "yes"; }, { address = "irc.efnet.net"; 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"; autoconnect = "no"; }, { address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; }, { address = "nemesis.psyc.biz"; port = "2323"; use_ssl = "no"; ssl_verify = "no"; } ); # }}} chatnets = { # {{{ IRCnet = { type = "IRC"; max_kicks = "4"; max_msgs = "5"; max_whois = "4"; max_query_chans = "5"; }; oftc = { type = "IRC"; autosendcmd = "/msg NickServ identify PASSWORD"; max_kicks = "4"; max_msgs = "5"; max_whois = "4"; max_query_chans = "5"; }; freenode = { type = "IRC"; autosendcmd = "/msg NickServ identify PASSWORD"; max_query_chans = "5"; max_kicks = "4"; max_msgs = "5"; max_whois = "4"; }; euirc = { type = "IRC"; autosendcmd = "/msg NickServ identify PASSWORD"; max_query_chans = "5"; max_kicks = "4"; max_msgs = "5"; max_whois = "4"; }; 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"; }; SILC = { type = "SILC"; }; bitlbee = { type = "IRC"; autosendcmd = "/^msg -bitlbee &bitlbee identify PASSWORD; wait -bitlebee 2000"; }; }; # }}} channels = ( # {{{ { name = "#irssi"; chatnet = "ircnet"; autojoin = "No"; }, { name = "silc"; chatnet = "silc"; autojoin = "No"; }, { name = "#xegity"; chatnet = "euirc"; autojoin = "yes"; }, { name = "#dwm"; chatnet = "oftc"; autojoin = "yes"; }, { name = "#progrock-dt"; chatnet = "QuakeNet"; autojoin = "no"; }, { name = "#mutt"; chatnet = "freenode"; autojoin = "no"; }, { name = "#vim"; chatnet = "freenode"; autojoin = "yes"; }, { name = "#grml"; chatnet = "freenode"; autojoin = "yes"; }, { name = "#awesome"; chatnet = "oftc"; autojoin = "yes"; }, { name = "#irssi"; chatnet = "freenode"; autojoin = "yes"; }, { name = "#macosx"; chatnet = "freenode"; autojoin = "yes"; }, { name = "#hastymail"; chatnet = "freenode"; autojoin = "yes"; }, { name = "#ubuntu"; chatnet = "euirc"; autojoin = "yes"; }, { name = "#roundcube"; chatnet = "freenode"; autojoin = "yes"; } ); # }}} aliases = { # {{{ RUN = "SCRIPT LOAD"; UPTIME = "eval exec - expr `date +%s` - \\$F | awk '{print \"Irssi uptime: \"int(\\\\\\$1/3600/24)\"d \"int(\\\\\\$1/3600%24)\"h \"int(\\\\\\$1/60%60)\"m \"int(\\\\\\$1%60)\"s\" }'"; CALC = "exec - if which bc &>/dev/null\\; then echo '$*' | bc | awk '{print \"$*=\"$$1}'\\; else echo bc was not found\\; fi"; 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"; zzzz = "nick zZzZscheriad"; isch = "nick ischeriad"; afk = "nick ischeriad_afk"; "." = "away"; nos = "set scroll toggle"; sw = "window goto 1; window size 25"; sa = "window goto 1; window size 6; window last"; # bitlbee aliases im = "msg -bitlbee &bitlbee identify PASSWORD"; imon = "msg -bitlbee &bitlbee account on"; imoff = "msg -bitlbee &bitlbee account off"; icqon = "msg -bitlbee &bitlbee account on 0"; icqoff = "msg -bitlbee &bitlbee account off 0"; jabon = "msg -bitlbee &bitlbee account on 1"; jaboff = "msg -bitlbee &bitlbee account off 1"; blist = "msg -bitlbee &bitlbee blist $*"; bset = "msg -bitlbee &bitlbee set $*"; binfo = "msg -bitlbee &bitlbee info $*"; badd = "msg -bitlbee &bitlbee add $*"; bhelp = "msg -bitlbee &bitlbee help $*"; byes = "msg -bitlbee &bitlbee yes $*"; bno = "msg -bitlbee &bitlbee no $*"; bqlist = "msg -bitlbee &bitlbee qlist $*"; np = "exec - -out mpc --format \"np: [[%artist% - ]%title%]|[%file%]]\" | head -n1"; now_playing = "window goto 1; eval exec - mpc --format \"[[[%artist% ][(%album%) ]- ][%title%]]|[%file%]\" | head -n1; window last"; }; # }}} 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}}"; # treated specially .. window is printed with non-empty windows, # window_empty is printed with empty windows window = "{sb $winref:$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://irssi.org/help/"; # all of these treated specially, they're only displayed when needed lag = "{sb Lag: $0-}"; act = "{sb Act: $0-}"; more = "-- more --"; server = " %y$chatnet:%n $S"; }; # 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"; }; more = { priority = "-1"; alignment = "right"; }; server = { priority = "-2"; alignment = "right"; }; barend = { priority = "100"; alignment = "right"; }; awaybar = { }; }; }; # 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"; }; server = { priority = "-2"; 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"; }; }; }; remove = { items = { }; disabled = "yes"; }; awl_0 = { items = { barstart = { priority = "100"; }; awl_0 = { }; barend = { priority = "100"; alignment = "right"; }; }; }; }; }; # }}} settings = { # {{{ core = { real_name = "Domingo Stephan"; user_name = "ischeriad"; nick = "ischeriad"; timestamp_format = "%H%M"; quit_message = "I am ghost"; hostname = "ischeriad.de"; }; "fe-common/core" = { use_status_window = "yes"; autocreate_own_query = "no"; use_msgs_window = "no"; autoclose_windows = "no"; reuse_unused_windows = "yes"; autocreate_query_level = "DCCMSGS"; term_charset = "UTF-8"; theme = "ash"; beep_msg_level = "HILIGHT"; autolog_path = "~/irclogs/$tag/$0/%Y-%m-%d"; autolog = "yes"; beep_when_away = "no"; }; "irc/core" = { skip_motd = "yes"; alternate_nick = "ischeriad~"; part_message = "I am ghost"; lag_max_before_disconnect = "30sec"; }; "fe-text" = { scroll = "yes"; scroll_page_count = "/1"; actlist_sort = "refnum"; }; "perl/core/scripts" = { beep_cmd = "aplay -q ~/.irssi/notify1_quiet.wav"; awl_height_adjust = "1"; awl_all_disable = "no"; awl_hide_data = "0"; awl_placement = "bottom"; awl_display_key = "$Q%w:%n$H$C$S"; awl_block = "9"; awl_separator = "\\ "; awl_prefer_name = "yes"; }; }; # }}} # logs = { # {{{ # "~/irclogs/xegity-%Y-%m-%d" = { # auto_open = "yes"; # level = "ALL"; # items = ( { type = "target"; name = "#xegity"; } ); # }; # "~/irclogs/dwm-%Y-%m-%d" = { # auto_open = "yes"; # level = "ALL"; # items = ( { type = "target"; name = "#dwm"; } ); # }; # "~/irclogs/vim-%Y-%m-%d" = { # auto_open = "yes"; # level = "ALL"; # items = ( { type = "target"; name = "#vim"; } ); # }; # }; # }}} hilights = ( # {{{ { text = "isch"; fullword = "yes"; nick = "no"; word = "yes"; }, { text = "ische"; fullword = "yes"; nick = "no"; word = "yes"; }, { text = "ischer"; fullword = "yes"; nick = "no"; word = "yes"; }, { text = "ischeriad"; fullword = "yes"; nick = "no"; word = "yes"; }, { text = "hoschie"; fullword = "yes"; nick = "no"; word = "yes"; } ); # }}} ignores = ( { level = "JOINS PARTS QUITS"; channels = ( "#vim" ); } ); logs = { }; keyboard = ( # {{{ { key = "meta-`"; id = "command"; data = "sw"; }, { key = "meta-~"; id = "command"; data = "sa"; }, { key = "meta-c"; id = "command"; data = "now_playing"; }, { key = "meta-x"; id = "command"; data = "window last"; } ); # }}} # }}} windows = { 1 = { immortal = "yes"; name = "status"; level = "CRAP PUBLICS NOTICES SNOTES CTCPS JOINS PARTS QUITS KICKS MODES TOPICS WALLOPS INVITES NICKS DCC CLIENTNOTICES CLIENTCRAP CLIENTERRORS HILIGHTS"; sticky = "yes"; }; 2 = { name = "xeg"; items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#xegity"; tag = "euirc"; } ); }; 3 = { name = "dwm"; items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#dwm"; tag = "oftc"; } ); }; 4 = { name = "awe"; items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#awesome"; tag = "oftc"; } ); }; 5 = { name = "vim"; items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#vim"; tag = "freenode"; } ); }; 6 = { name = "grml"; items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#grml"; tag = "freenode"; } ); }; 7 = { name = "bitl"; items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "&bitlbee"; tag = "bitlbee"; } ); }; 8 = { name = "rcube"; items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#roundcube"; tag = "freenode"; } ); }; 9 = { name = "hasty"; items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#hastymail"; tag = "freenode"; } ); }; 10 = { name = "ubu"; items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#ubuntu"; tag = "euirc"; } ); }; 11 = { name = "osx"; items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#macosx"; tag = "freenode"; } ); }; 12 = { name = "irssi"; items = ( { type = "CHANNEL"; chat_type = "IRC"; name = "#irssi"; tag = "freenode"; } ); }; }; mainwindows = { 1 = { first_line = "1"; lines = "7"; }; 5 = { first_line = "8"; lines = "35"; }; };