# 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) - 0 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"; };
replaces = {};

abstracts = {
  ##
  ## generic
  ##

  # text to insert at the beginning of each non-message line
  line_start = "*** ";

  # timestamp styling, nothing by default
  timestamp = "[$0-]";

  # any kind of text that needs hilighting, default is to bold
  hilight = "%_$0-%_";

  # any kind of error message, default is bright red
  error = "%R$0-%n";

  # channel name is printed
  channel = "%c$0-%n";

  # nick is printed
  nick = "%c$0-%n";

  # nick host is printed
  nickhost = "($0-)";

  # server name is printed
  server = "$0-";

  # some kind of comment is printed
  comment = "($0-)";

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

  # mode change is printed
  mode = "[$0-]";

  ##
  ## channel specific messages
  ##

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

  # nick/host is printed (parts, quits, etc.)
  channick = "$0-";
  chanhost = "{nickhost $0-}";

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

  # ban/ban exception/invite list mask is printed
  ban = "$0-";

  ##
  ## Action (/ME command)
  ##

  # Generic action
  action = "%c* $*%n ";

  # Own sent action
  ownaction = "{action $*}";

  # Own sent action with target
  ownaction_target = "{action $0}%K:%c$1%n ";

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

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

  ##
  ## Notice (/NOTICE command)
  ##

  # Generic notice
  ownnotice = "%g- $1 -%n ";
  notice = "%C- $* -%n ";
  pubnotice_channel = "";
  pvtnotice_host = "";


  ##
  ## messages
  ##

  # the basic styling of how to print message, $0 = nick mode, $1 = nick
  msgnick = "%c%|<$0$1->%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-%K}%n";
  #  ownprivmsgnick = "%K{msgnick  $0-%K}%n";
  #  privmsgnick = "%K{msgnick  %R$0-%K}%n";

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

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

  # public message in channel meant for me, $0 = nick mode, $1 = nick
  pubmsgmenick = "%g<$0$1->%n %|";
  menick = "$0-";

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

  # channel name is printed with message
  msgchannel = "%w|%c$0-";

  # private message, $0 = nick, $1 = host
  privmsg = "*%c$0%n* ";

  # private message from you, $0 = "msg", $1 = target nick
  ownprivmsg = "->*%c$1-%n* %g";

  # private message in query
  privmsgnick = "*%c$0%n* ";

  # own private message in query
  ownprivmsgnick = "->*%c$0%n* %g$1-";
  ownprivnick = "$0-";


  ##
  ## other IRC events
  ##

  # CTCPs
  ownctcp = "[$0$1-] ";
  ctcp = "$0-";

  # wallops
  wallop = "$0-: ";
  wallop_nick = "$0-";
  wallop_action = " * $0- ";

  # netsplits
  netsplit = "%c$0-%n";
  netjoin = "%C$0-%n";

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

  # DCC
  dcc = "$0-";
  dccfile = "%_$0-%_";

  # DCC chat, own msg/action
  dccownmsg = "*%c=$1-%n*> %g";
  dccownaction = "{action $0-}";
  dccownaction_target = "{ownaction_target $0-}";

  # DCC chat, others
  dccmsg = "*%c=$1-%n* ";
  dccquerynick = "$0-";
  dccaction = " (*dcc*) $0- %|";

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

  prompt = "[$*] ";

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

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

  # signed messages
  # the following formats fit the Irssi default theme:
  # 
  # flag_signed = "%GS%n";
  # flag_unknown = "%Y?%n";
  # flag_failed = "%RF%n";
  # 
  # pubmsghinick_signed = "{msgnick {flag_signed} $0$2-%n}";
  # pubmsghinick_unknown = "{msgnick {flag_unknown} $0$2-%n}";
  # pubmsghinick_failed = "{msgnick {flag_failed} $0$2-%n}";
  # 
  # pubmsgmenick_signed = "{msgnick {flag_signed} $1-}";
  # pubmsgmenick_unknown = "{msgnick {flag_unknown} $1-}";
  # pubmsgmenick_failed = "{msgnick {flag_failed} $1-}";
  # 
  # pubmsgnick_signed = "{msgnick {flag_signed} $1-}";
  # pubmsgnick_unknown = "{msgnick {flag_unknown} $1-}";
  # pubmsgnick_failed = "{msgnick {flag_failed} $1-}";
  # 
  # privmsg_signed = "{privmsg {flag_signed}$0 $1}";
  # privmsg_unknown = "{privmsg {flag_unknown}$0 $1}";
  # privmsg_failed = "{privmsg {flag_failed}$0 $1}";
  # 
  # privmsgnick_signed = "{msgnick {flag_signed} %R$*%n}";
  # privmsgnick_unknown = "{msgnick {flag_unknown} %R$*%n}";
  # privmsgnick_failed = "{msgnick {flag_failed} %R$*%n}";
  # 
  # ownmsgnick_signed = "{msgnick {flag_signed} $1-}";
  # ownprivmsgnick_signed = "{msgnick {flag_signed} $*}";
  #
  flag_signed = "[%cS%n]";
  flag_unknown = "[%Y?%n]";
  flag_failed = "[%RF%n]";

  pubmsghinick_signed = "{msgnick {flag_signed} $0$2-%n}";
  pubmsghinick_unknown = "{msgnick {flag_unknown} $0$2-%n}";
  pubmsghinick_failed = "{msgnick {flag_failed} $0$2-%n}";
  
  pubmsgmenick_signed = "%g<{flag_signed}$1->%n %|";
  pubmsgmenick_unknown = "%g<{flag_unknown}$1->%n %|";
  pubmsgmenick_failed = "%g<{flag_failed}$1->%n %|";
  
  pubmsgnick_signed = "{msgnick {flag_signed}$0 $1-}";
  pubmsgnick_unknown = "{msgnick {flag_unknown}$0 $1-}";
  pubmsgnick_failed = "{msgnick {flag_failed}$0 $1-}";
  
  privmsg_signed = "{privmsg {flag_signed}$0 $1}";
  privmsg_unknown = "{privmsg {flag_unknown}$0 $1}";
  privmsg_failed = "{privmsg {flag_failed}$0 $1}";
  
  privmsgnick_signed = "{privmsgnick {flag_signed}$0}";
  privmsgnick_unknown = "{privmsgnick {flag_unknown}$0}";
  privmsgnick_failed = "{privmsgnick {flag_failed}$0}";
  
  ownmsgnick_signed = "{msgnick {flag_signed} $1-}%g";
  ownprivmsg_signed = "->*%c{flag_signed}$1-%n* %g";
  ownprivmsgnick_signed = "->*%c{flag_signed}$0%n* %g$1-";
};

#
# Some default formats how to print stuff on screen
#
formats = {
  "fe-common/core" = {
    endofnames = "{channel $0}: Total of {hilight $1} nicks {comment {hilight $2} ops, {hilight $4} normal}";
    line_start_irssi = "{line_start}";
  };
};
