custom Irssi theme

# A custom theme for the Irssi IRC client (http://www.irssi.org/)

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

# 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 = "%G*%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 = "%y$*%n";
  chanhost_hilight = "{nickhost $*}";

  # 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 %|";

  # $0 = nick mode, $1 = nick
  ownmsgnick = "{msgnick $0 $1-}";
  ownnick = "%W$*%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 = "%W$*%n";

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


  ## Actions (/ME stuff)

  # used internally by this theme
  action_core = "%W * $*%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 = "%W (*) $*%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 = "%W$*%n: ";
  wallop_nick = "%n$*";
  wallop_action = "%W * $*%n ";

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

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

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

  # DCC chat, own msg/action
  dccownmsg = "[%r$0%K($1-%K)%n] ";
  dccownnick = "%R$*%n";
  dccownquerynick = "%W$*%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 = "%W (*dcc*) $*%n %|";


  ## statusbar

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

  # background for prompt / input line
  sb_prompt_bg = "%n";
  # background for info statusbar
  sb_info_bg = "%8";

  # 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 = " %y|%n $*%c%n";
  sbmode = "(%g+%n$*)";
  sbaway = " (%czZzZ%n)";
  sbservertag = ":%g$0%n (change with ^X)";
  sbnickmode = "$0";

  # activity in statusbar

  # ',' separator
  sb_act_sep = "$*";
  # normal text
  sb_act_text = "$*";
  # public message
  sb_act_msg = "%g$*%n";
  # hilight
  sb_act_hilight = "%R$*";
  # hilight with specified color, $0 = color, $1 = text
  sb_act_hilight_color = "$0$1-%n";
};

formats = {
  "fe-common/core" = { timestamp = "{timestamp %%H:%%M:%%S} "; };
};