Commit 5b56225a authored by Dom Sekotill's avatar Dom Sekotill
Browse files

Add IRSSI config, theme & scripts

parent 16c03a61
Loading
Loading
Loading
Loading

.irssi/.gitignore

0 → 100644
+1 −0
Original line number Diff line number Diff line
config.autosave

.irssi/config

0 → 100644
+321 −0
Original line number Diff line number Diff line
servers = (
  { address = "irc.ubuntu.com"; chatnet = "Ubuntu"; port = "8001"; },
  { address = "eu.irc6.net"; chatnet = "IRCnet"; port = "6667"; },
  { address = "open.ircnet.net"; chatnet = "IRCnet"; 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"; },
  {
    address = "lw.kodo.org.uk";
    chatnet = "Work";
    port = "2771";
    password = "reactor2_devalue";
    use_ssl = "yes";
    ssl_verify = "no";
    autoconnect = "yes";
  },
  {
    address = "lw.kodo.org.uk";
    chatnet = "Freenode";
    port = "2770";
    password = "reactor2_devalue";
    use_ssl = "yes";
    ssl_verify = "no";
    autoconnect = "yes";
  },
  {
    address = "lw.kodo.org.uk";
    chatnet = "Twitch";
    port = "2772";
    password = "reactor2_devalue";
    use_ssl = "yes";
    ssl_verify = "no";
    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";
  };
  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"; };
  Ubuntu = { type = "IRC"; };
  Work = {
    type = "IRC";
    autosendcmd = "ctcp -proxy- IRSSIPROXY BACKLOG SEND";
  };
  Freenode = {
    type = "IRC";
    nick = "Kodo";
    realname = "Dominik Sekotill";
    autosendcmd = "ctcp -proxy- IRSSIPROXY BACKLOG SEND";
  };
  Twitch = {
    type = "IRC";
    nick = "dac_kodo";
    username = "dac_kodo";
    realname = "Dom Sekotill";
  };
};

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";
  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"; };
        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"; };
      };
    };
  };
};
settings = {
  core = { real_name = "Dom Sekotill"; user_name = "dom"; nick = "dom"; };
  "fe-text" = { actlist_sort = "refnum"; };
  "fe-common/core" = {
    bell_beeps = "yes";
    beep_msg_level = "ALL -NOTICES";
  };
  "perl/core/scripts" = {
    awl_shared_sbar = "OFF";
    awl_viewer_tmux_position = "right";
    awl_viewer_launch_env = "AUTOFOCUS=0 ";
    awl_maxcolumns = "4";
    awl_viewer = "yes";
  };
};
ignores = ( 
  { level = "MODES"; },
  { mask = "badbodh"; level = "ALL"; }
);

.irssi/default.theme

0 → 100644
+294 −0
Original line number Diff line number Diff line
# When testing changes, the easiest way to reload the theme is with /RELOAD.
# This reloads the configuration file too, so if you did any changes remember
# to /SAVE it first. Remember also that /SAVE overwrites the theme file with
# old data so keep backups :)

# TEMPLATES:

# The real text formats that irssi uses are the ones you can find with
# /FORMAT command. Back in the old days all the colors and texts were mixed
# up in those formats, and it was really hard to change the colors since you
# might have had to change them in tens of different places. So, then came
# this templating system.

# Now the /FORMATs don't have any colors in them, and they also have very
# little other styling. Most of the stuff you need to change is in this
# theme file. If you can't change something here, you can always go back
# to change the /FORMATs directly, they're also saved in these .theme files.

# So .. the templates. They're those {blahblah} parts you see all over the
# /FORMATs and here. Their usage is simply {name parameter1 parameter2}.
# When irssi sees this kind of text, it goes to find "name" from abstracts
# block below and sets "parameter1" into $0 and "parameter2" into $1 (you
# can have more parameters of course). Templates can have subtemplates.
# Here's a small example:
#   /FORMAT format hello {colorify {underline world}}
#   abstracts = { colorify = "%G$0-%n"; underline = "%U$0-%U"; }
# When irssi expands the templates in "format", the final string would be:
#   hello %G%Uworld%U%n
# ie. underlined bright green "world" text.
# and why "$0-", why not "$0"? $0 would only mean the first parameter,
# $0- means all the parameters. With {underline hello world} you'd really
# want to underline both of the words, not just the hello (and world would
# actually be removed entirely).

# COLORS:

# You can find definitions for the color format codes in docs/formats.txt.

# There's one difference here though. %n format. Normally it means the
# default color of the terminal (white mostly), but here it means the
# "reset color back to the one it was in higher template". For example
# if there was /FORMAT test %g{foo}bar, and foo = "%Y$0%n", irssi would
# print yellow "foo" (as set with %Y) but "bar" would be green, which was
# set at the beginning before the {foo} template. If there wasn't the %g
# at start, the normal behaviour of %n would occur. If you _really_ want
# to use the terminal's default color, use %N.

#############################################################################

# default foreground color (%N) - -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 = { "[]=" = "%K$*%n"; };

abstracts = {
  ##
  ## generic
  ##

  # text to insert at the beginning of each non-message line
  line_start = "%B-%n!%B-%n ";

  # timestamp styling, nothing by default
  timestamp = "$*";

  # 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 = "[$*]";

  # server name is printed
  server = "%_$*%_";

  # some kind of comment is printed
  comment = "[$*]";

  # reason for something is printed (part, quit, kick, ..)
  reason = "{comment $*}";

  # mode change is printed ([+o nick])
  mode = "{comment $*}";

  ##
  ## channel specific messages
  ##

  # highlighted nick/host is printed (joins)
  channick_hilight = "%C$*%n";
  chanhost_hilight = "{nickhost %c$*%n}";

  # nick/host is printed (parts, quits, etc.)
  channick = "%c$*%n";
  chanhost = "{nickhost $*}";

  # highlighted channel name is printed
  channelhilight = "%c$*%n";

  # ban/ban exception/invite list mask is printed
  ban = "%c$*%n";

  ##
  ## messages
  ##

  # the basic styling of how to print message, $0 = nick mode, $1 = nick
  msgnick = "%K<%n$0$1-%K>%n %|";

  # message from you is printed. "msgownnick" specifies the styling of the
  # nick ($0 part in msgnick) and "ownmsgnick" specifies the styling of the
  # whole line.

  # Example1: You want the message text to be green:
  #  ownmsgnick = "{msgnick $0 $1-}%g";
  # Example2.1: You want < and > chars to be yellow:
  #  ownmsgnick = "%Y{msgnick $0 $1-%Y}%n";
  #  (you'll also have to remove <> from replaces list above)
  # Example2.2: But you still want to keep <> grey for other messages:
  #  pubmsgnick = "%K{msgnick $0 $1-%K}%n";
  #  pubmsgmenick = "%K{msgnick $0 $1-%K}%n";
  #  pubmsghinick = "%K{msgnick $1 $0$2-%n%K}%n";
  #  ownprivmsgnick = "%K{msgnick  $*%K}%n";
  #  privmsgnick = "%K{msgnick  %R$*%K}%n";

  # $0 = nick mode, $1 = nick
  ownmsgnick = "{msgnick $0 $1-}";
  ownnick = "%_$*%n";

  # public message in channel, $0 = nick mode, $1 = nick
  pubmsgnick = "{msgnick $0 $1-}";
  pubnick = "%N$*%n";

  # public message in channel meant for me, $0 = nick mode, $1 = nick
  pubmsgmenick = "{msgnick $0 $1-}";
  menick = "%Y$*%n";

  # public highlighted message in channel
  # $0 = highlight color, $1 = nick mode, $2 = nick
  pubmsghinick = "{msgnick $1 $0$2-%n}";

  # channel name is printed with message
  msgchannel = "%K:%c$*%n";

  # private message, $0 = nick, $1 = host
  privmsg = "[%R$0%K(%r$1-%K)%n] ";

  # private message from you, $0 = "msg", $1 = target nick
  ownprivmsg = "[%r$0%K(%R$1-%K)%n] ";

  # own private message in query
  ownprivmsgnick = "{msgnick  $*}";
  ownprivnick = "%_$*%n";

  # private message in query
  privmsgnick = "{msgnick  %R$*%n}";

  ##
  ## Actions (/ME stuff)
  ##

  # used internally by this theme
  action_core = "%_ * $*%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}%K:%c$1%n ";

  # private action sent by others
  pvtaction = "%_ (*) $*%n ";
  pvtaction_query = "{action $*}";

  # public action sent by others
  pubaction = "{action $*}";


  ##
  ## other IRC events
  ##

  # whois
  whois = "%# $[8]0 : $1-";

  # notices
  ownnotice = "[%r$0%K(%R$1-%K)]%n ";
  notice = "%K-%M$*%K-%n ";
  pubnotice_channel = "%K:%m$*";
  pvtnotice_host = "%K(%m$*%K)";
  servernotice = "%g!$*%n ";

  # CTCPs
  ownctcp = "[%r$0%K(%R$1-%K)] ";
  ctcp = "%g$*%n";

  # wallops
  wallop = "%_$*%n: ";
  wallop_nick = "%n$*";
  wallop_action = "%_ * $*%n ";

  # netsplits
  netsplit = "%R$*%n";
  netjoin = "%C$*%n";

  # /names list
  names_prefix = "";
  names_nick = "[%_$0%_$1-] ";
  names_nick_op = "{names_nick $*}";
  names_nick_halfop = "{names_nick $*}";
  names_nick_voice = "{names_nick $*}";
  names_users = "[%g$*%n]";
  names_channel = "%G$*%n";

  # DCC
  dcc = "%g$*%n";
  dccfile = "%_$*%_";

  # DCC chat, own msg/action
  dccownmsg = "[%r$0%K($1-%K)%n] ";
  dccownnick = "%R$*%n";
  dccownquerynick = "%_$*%n";
  dccownaction = "{action $*}";
  dccownaction_target = "{action_core $0}%K:%c$1%n ";

  # DCC chat, others
  dccmsg = "[%G$1-%K(%g$0%K)%n] ";
  dccquerynick = "%G$*%n";
  dccaction = "%_ (*dcc*) $*%n %|";

  ##
  ## statusbar
  ##

  # default background for all statusbars. You can also give
  # the default foreground color for statusbar items.
  sb_background = "%4%w";

  # default backround for "default" statusbar group
  #sb_default_bg = "%4";
  # background for prompt / input line
  sb_prompt_bg = "%n";
  # background for info statusbar
  sb_info_bg = "%8";
  # background for topicbar (same default)
  #sb_topic_bg = "%4";

  # text at the beginning of statusbars. sb-item already puts
  # space there,so we don't use anything by default.
  sbstart = "";
  # text at the end of statusbars. Use space so that it's never
  # used for anything.
  sbend = " ";

  topicsbstart = "{sbstart $*}";
  topicsbend = "{sbend $*}";

  prompt = "[$*] ";

  sb = " %c[%n$*%c]%n";
  sbmode = "(%c+%n$*)";
  sbaway = " (%GzZzZ%n)";
  sbservertag = ":$0 (change with ^X)";
  sbnickmode = "$0";

  # activity in statusbar

  # ',' separator
  sb_act_sep = "%c$*";
  # 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-%n";
};
+2499 −0

File added.

Preview size limit exceeded, changes collapsed.

+1 −0
Original line number Diff line number Diff line
../adv_windowlist.pl
 No newline at end of file