Jump to content

User:Int 80h/files/Irssi config

From Wikipedia, the free encyclopedia

This is my default Irssi config.

Note that some items are dependent on a certain theme, in case you want to use this config as template. The statusbar item more invokes the more template from either the default.theme or mono.theme:

   more = "{more * more *}";


Irssi config

[edit]
# vim:ft=conf softtabstop=2 shiftwidth=2
servers = (
  {
    address = "ircnet.club-internet.fr";
    chatnet = "IRCnet";
    port = "6668";
    autoconnect = "Yes";
  },
  {
    address = "irc.belwue.de";
    chatnet = "IRCnet";
    port = "6668";
    autoconnect = "No";
  },
  {
    address = "irc.stealth.net";
    chatnet = "IRCnet";
    port = "6668";
    autoconnect = "No";
  },
  { address = "irc.efnet.org"; chatnet = "EFNet"; port = "6667"; },
  {
    address = "irc.undernet.org";
    chatnet = "Undernet";
    port = "6667";
    autoconnect = "Yes";
  },
  {
    address = "irc.dal.net";
    chatnet = "DALnet";
    port = "6667";
    autoconnect = "No";
  },
  {
    address = "irc.foonetic.net";
    chatnet = "Foonetic";
    port = "6667";
    autoconnect = "Yes";
  },
  {
    address = "irc.quakenet.org";
    chatnet = "QuakeNet";
    port = "6668";
    autoconnect = "Yes";
  },
  { address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; },
  {
    address = "de.inside-irc.net";
    chatnet = "InsideIrc";
    port = "6669";
    autoconnect = "No";
  },
  {
    address = "irc.euirc.net";
    chatnet = "euIRCnet";
    port = "6667";
    autoconnect = "Yes";
  },
  {
    address = "irc.freenode.net";
    chatnet = "freenode";
    port = "6667";
    autoconnect = "Yes";
  },
  {
    address = "irc.rizon.net";
    chatnet = "Rizon";
    port = "6667";
    autoconnect = "Yes";
  },
  {
    address = "irc.piratpartiet.se";
    chatnet = "PirateNet";
    port = "6668";
    autoconnect = "Yes";
  },
  {
    address = "irc.oftc.net";
    chatnet = "OFTC";
    port = "6667";
    autoconnect = "Yes";
  }
);
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";
  };
  freenode = {
    type = "IRC";
    max_kicks = "1";
    max_msgs = "3";
    max_whois = "30";
  };
  Rizon = { type = "IRC"; };
  DALnet = {
    type = "IRC";
    max_kicks = "4";
    max_msgs = "3";
    max_whois = "30";
  };
  InsideIrc = {
    type = "IRC";
    max_kicks = "1";
    max_msgs = "3";
    max_whois = "30";
  };
  Foonetic = { type = "IRC"; };
  SILC = { type = "SILC"; };
  euIRCnet = {
    type = "IRC";
  };
  PirateNet = {
    type = "IRC";
    max_kicks = "4";
    max_msgs = "3";
    max_whois = "30";
  };
  OFTC = { type = "IRC"; };
  QuakeNet = { type = "IRC"; nick = "VT220"; username = "bereziak"; };
};

channels = (
  { name = "#irssi"; chatnet = "ircnet"; autojoin = "Yes"; },
  { name = "#uni-luebeck"; chatnet = "ircnet"; autojoin = "Yes"; },
  { name = "silc"; chatnet = "silc"; autojoin = "No"; },
  { name = "#tokyochat"; chatnet = "undernet"; autojoin = "Yes"; },
  { name = "#japan"; chatnet = "undernet"; autojoin = "Yes"; },
  { name = "#lua"; chatnet = "freenode"; autojoin = "Yes"; },
  { name = "#math"; chatnet = "freenode"; autojoin = "Yes"; },
  { name = "#perl"; chatnet = "freenode"; autojoin = "Yes"; },
  { name = "#savonet"; chatnet = "freenode"; autojoin = "Yes"; },
  { name = "#icecast"; chatnet = "freenode"; autojoin = "Yes"; },
  { name = "#openbsd"; chatnet = "freenode"; autojoin = "Yes"; },
  { name = "#fedora"; chatnet = "freenode"; autojoin = "Yes"; },
  { name = "#vim"; chatnet = "freenode"; autojoin = "Yes"; },
  { name = "#zsh"; chatnet = "freenode"; autojoin = "Yes"; },
  { name = "#piratenpartei"; chatnet = "freenode"; autojoin = "Yes"; },
  { name = "#piraten-sh"; chatnet = "freenode"; autojoin = "Yes"; },
  {
    name = "#piraten-smalltalk";
    chatnet = "freenode";
    autojoin = "Yes";
  },
  { name = "#justbase"; chatnet = "QuakeNet"; autojoin = "Yes"; },
  {
    name = "#anovwl";
    chatnet = "QuakeNet";
    autojoin = "yes";
    password = "neindu";
  },
  { name = "#xkcd"; chatnet = "foonetic"; autojoin = "Yes"; },
  { name = "#xkcd-love"; chatnet = "foonetic"; autojoin = "Yes"; },
  { name = "#armitunes"; chatnet = "Rizon"; autojoin = "Yes"; },
  { name = "#hisouten"; chatnet = "Rizon"; autojoin = "Yes"; },
  { name = "#ppi"; chatnet = "PirateNet"; autojoin = "Yes"; },
  { name = "#metameute"; chatnet = "OFTC"; autojoin = "Yes"; }
);

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 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";
  CTCPR = "eval /quote NOTICE $0 :\001$1-\001";
  IDDQD = "msg NickServ ghost $0 $1; nick $0; msg NickServ identify $1";
  O = "say $0- ¯\\\\(°_o)/¯";
  NS = "msg NickServ";
  CS = "msg ChanServ";
  MS = "msg MemoServ";
  NI = "msg nickserv identify $0-";
  TH = "me .oO( $0- )";
  OW = "say Oh wow™";
};

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://irssi.org/help/";

    # all of these treated specially, they're only displayed when needed
    lag = "{sb Lag: $0-}";
    act = "{sb Act: $0-}";
    more = "{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 = { };
        lag = { priority = "-1"; };
        act = { priority = "0"; };
        more = { priority = "10"; 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"; };
        window = { };
        window_empty = { };
        topic = { };
        topic_empty = { };
        topicbarend = { priority = "100"; alignment = "right"; };
      };
    };
  };
};
settings = {
  core = {
    real_name = "1394542";
    user_name = "polemon";
    nick = "polemon";
    hostname = "polemon.org";
    timestamp_format = "%H:%M:%S";
    cmdchars = ":/";
  };
  "fe-text" = {
    actlist_sort = "level,recent";
    scrollback_lines = "5000";
    scrollback_time = "7days";
    actlist_names = "no";
  };
  "perl/core/scripts" = {
    nick_active = "[100]1394542";
    nick_inactive = "[503]1394542";
    idle_time = "900";
    sort_on_new_window = "on";
    query_position = "groupend";
    group_networks = "on";
    sort_query_position = "groupend";
  };
  "fe-common/core" = {
    hide_colors = "yes";
    theme = "default";
    autocreate_query_level = "DCCMSGS";
    autocreate_own_query = "no";
    activity_hide_level = "PARTS QUITS NICKS JOINS MODES";
  };
  proxy = {
    irssiproxy_password = "xxxxxxx";
    irssiproxy_ports = "IRCnet=9001 QuakeNet=9002 Foonetic=9003 Undernet=9004 freenode=9005 euIRCnet=9006";
    irssiproxy_bind = "polemon.org";
  };
  "irc/core" = { join_auto_chans_on_invite = "no"; };
};
ignores = (
  { mask = "Statistik"; level = "PUBLICS"; servertag = "InsideIrc"; },
  {
    mask = "JustBase";
    level = "ALL";
    servertag = "InsideIrc";
    channels = ( "#justbase" );
  },
  { mask = "genewitch"; level = "ALL"; }
);
keyboard = (
  { key = "meta-z"; id = "command"; data = "WINDOW LAST"; },
  { key = "meta-<"; id = "scroll_start"; data = ""; },
  { key = "meta->"; id = "scroll_end"; data = ""; }
);
hilights = (
  { text = ""; nick = "yes"; word = "yes"; },
  { text = ""; nick = "yes"; word = "yes"; fullword = "yes"; }
);