######################### evilkat.theme by dubkat@efnet ##################################
# includes formats for scripts such as nact.pl kills.pl and chanact.pl
# this theme may not look too good directly in a term, but looks ok in putty if you have
# 'bolded text as alternate color' checked in your putty window/colours settings
# enjoy.

# 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 = { "!" = "%R$*%n"; "[]=" = "%K$*%n"; };

abstracts = {
  ##
  ## generic
  ##

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

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

  # 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 = "{highlight %p$*%n}";

  ##
  ## channel specific messages
  ##

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

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

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

  # ban/ban exception/invite list mask is printed
  ban = "%r$*%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-}%W";
  ownnick = "%r$*%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 = "%g$*%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 = "%r:$*%n";

  # private message, $0 = nick, $1 = host
  privmsg = "[%w$0!%r$1-%n] ";

  # private message from you, $0 = "msg", $1 = target nick
  ownprivmsg = "[%r$0%b(%R$1-%b)%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 = "%p           &%n$*";

  # generic one that's used by most actions
  action = "{action_core $*} ";

  # own action, both private/public
  ownaction = "{action %p$*}";

  # own action with target, both private/public
  ownaction_target = "{action_core $0}%p:%c$1%n ";

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

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


  ##
  ## other IRC events
  ##

  # whois
  whois = " %r¤ %W$[8]0%n %r¤  %w$1-%n";

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

  # CTCPs
  ownctcp = "[%w$0!%c$1-] ";
  ctcp = "%C$*%n";

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

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

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

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

  # DCC chat, own msg/action
  dccownmsg = "[%w$0!%r$1-%n] ";
  dccownnick = "%w$*%n";
  dccownquerynick = "%W$*%n";
  dccownaction = "{action $*}";
  dccownaction_target = "{action_core $0}%B:%c$1%n ";

  # DCC chat, others
  dccmsg = "[%w$1-!%g$0%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%K";

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

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

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

  prompt = "[%r$S%W/%r$*%n]%r:%W ";

  sb = " [%K$*%n]";
  sbmode = " (+%K$*%n)";
  sbaway = " (%Kaway%n)";
  sbservertag = ":$1%r";
  sbnickmode = "%_$0%_";

  # activity in statusbar

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

  #usercount
  sb_usercount = "{sb total:%w$0%n $1-}";
  sb_uc_ircops = "opers:%w$*%n";
  sb_uc_ops = "chanop:%w$*%n";
  sb_uc_halfops = "halfop:%w$*%n";
  sb_uc_voices = "voice:%w$*%n";
  sb_uc_normal = "peon:%w$*%n";
  sb_uc_space = " ";

  #nact
  nact_display = "%B(%b$3%n%B)%n$0%G>%W$1%R>%n$2%B(%b$4%B)%n";
};

formats = {
  "fe-common/core" = {
    pubmsg = "{pubmsgnick $2 {pubnick $[-9]0}}$1";
    join = "%gjoin       %G>%n {nick %W$0%n}!%n{chanhost_hilight $1}";
    part = "%cpart       %C<%n {nick %w$0%n}!%n{chanhost_hilight $1} {reason $3}";
    kick = "%rkick       %R<%n {nick %w$0%n} {reason %w$3%n} by {nick $2}";
    quit = "%Kquit       %K<%n {nick %K$0%n}!%n{chanhost_hilight $1} {reason $2}";
    nick_changed = "%ynick       %y~%n {nick %w$0%n} %Nis now {nick %W$1%n}";

    own_msg = "{ownmsgnick $2 {ownnick $[-9]0}}$1";
    own_msg_channel = "{ownmsgnick $3 {ownnick $[-9]0}{msgchannel $1}}$2";
    pubmsg_me = "{pubmsgmenick $2 {menick $[-9]0}}$1";
    pubmsg_me_channel = "{pubmsgmenick $3 {menick $[-9]0}{msgchannel $1}}$2";
    pubmsg_hilight = "{pubmsghinick $0 $3 $[-9]1}$2";
    pubmsg_hilight_channel = "{pubmsghinick $0 $4 $[-9]1{msgchannel $2}}$3";
    pubmsg_channel = "{pubmsgnick $3 {pubnick $[-9]0}{msgchannel $1}}$2";
    own_msg_private_query = "{ownprivmsgnick {ownprivnick $[-9]2}}$1";
    msg_private_query = "{privmsgnick $[-9]0}$2";
  };
  "fe-common/irc" = {
    netsplit = "{netsplit %rsplit     %R<<%n} {server $0} %w<-%r\\->%n {server %R$1%n}: [$2]";
    netsplit_more = "{netsplit %rsplit     %R<<%n} {server $0} %W<-%r\\->%n {server %R$1%n}: [$2%_+$3 more%_]";
    netsplit_join = "{netjoin %gre-join   %G>>%n} [$0]";
    netsplit_join_more = "{netjoin %gre-join   %G>>%n} [$0\012%_+$1 more%_]";
    chanmode_change = "%rmode       #%n [{mode $1}] by {nick $2}";
    server_chanmode_change = "%rserv       #%n [{mode $1}] by {nick $2}";
    own_action = "{ownaction  $0}%|$1";
    action_public = "{pubaction  $0}%|$1";
    who = "%#{channelhilight $[-10]0} {nick %n$[9]1%n} $[3]2 $[2]3 {comment {hilight $[10]6}} {comment $[!18]7} {chanhost %n$4@$5}";
  };

  # Script Addons....

  # kills.pl reformat
  "Irssi::Script::kills" = {
    kill_public = "%rkilled     ¤%n {channick %w$0%n}!{chanhost $1%n} {reason %w$4%n} by {nick %W$2%n}$3";
  };
};

