# screwer by ak5

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

  # timestamp styling, nothing by default
  timestamp = "%K$*%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 = "[%K$*]";

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

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

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

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

  ##
  ## channel specific messages
  ##

  # highlighted nick/host is printed 
  channick_hilight = "%W$*%N";
  chanhost_hilight = "[$*]";

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

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

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

  ##
  ## messages
  ##

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

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

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

  # public message in channel meant for me, $0 = nick mode, $1 = nick
  pubmsgmenick = "{msgnick $0 $1}%W";
  menick = "%W$0%N";

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

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

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

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

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

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

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

  # used internally by this theme
  action_core = "%W*%N $*";

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

  # own action, both private/public
  ownaction = "{action_core $0}  ";

  # own action with target, both private/public
  ownaction_target = "%W*%N $0:%K$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 = "%K$[8]0 :%N $1-";

  # notices
  ownnotice = "[%K$0>%N$1-] ";
  notice = "%W-%N$*%W-%N ";
  #  notice = "%W-%N$0(
  pubnotice_channel = "%N:%g$*";
  pvtnotice_host = "(%K$*)";
  servernotice = "%K-%N$*%K-%N ";

  # CTCPs
  ownctcp = "[%K$0($1-)] ";
  ctcp = "%N$*";

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

  # netsplits
  netsplit = "%w-%W-%K$*%W-%w-%N";
  netjoin = "%w-%W-%K$*%W-%w-%N";

  # /names list
  names_prefix = "";
  names_nick = "%K|%W$0%N$1-%N ";
  names_nick_op = "{names_nick $*}";
  names_nick_halfop = "{names_nick $*}";
  names_nick_voice = "{names_nick $*}";
  names_users = "%K|>%w>%W>%N $*";
  names_channel = "$*";

  # DCC
  dcc = "$*%N";
  dccfile = "%_$*%_";

  # DCC chat, own msg/action
  dccownmsg = "[$0($1-)] ";
  dccownnick = "$*";
  dccownquerynick = "%W$*%N";
  dccownaction = "%K*%N $* ";
  dccownaction_target = "%K*%N $0%K:%K$1%N ";

  # DCC chat, others
  dccmsg = "[$1-($0)] ";
  dccquerynick = "$*";
  dccaction = "%K*%N $* ";

  ##
  ## statusbar
  ##

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

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

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

  #  topicsbstart = "{sbstart $*}";
  topicsbstart = "%K»>%N";
  #  topicsbend = "{sbend $*}";
  topicsbend = "";

  prompt = "%K>%N$*%K: ";

  sb = "%K[%N$*%K]%N ";
  #custom:
  sbtime = "%K$*%N ";
  #endcustom
  sbmode = "%K/%N+$*%N";
  sbaway = " %N(%KzZzZ%N)%N";
  sbservertag = "%K:%N $0 %K(%N^X%K)";

  # activity in statusbar

  # ',' separator
  sb_act_sep = "%K$*";
  # normal text
  sb_act_text = "%N$*";
  # public message
  sb_act_msg = "%W$*";
  # hilight
  sb_act_hilight = "%Y$*";

  # hilight with specified color, $0 = color, $1 = text
  sb_act_hilight_color = "$0$1-%N";
  #  sb_act_hilight_color = "$0-%N";
  #  sb_act_hilight_color = "%Y$1%N";


  # userlist.pl settings
  sb_usercount = "{sb $0 %K/ $1-}";
  sb_uc_ircops = "%K*%N$*";
  sb_uc_ops = "%K@%N$*";
  sb_uc_halfops = "%K%%%N$*";
  sb_uc_voices = "%K+%N$*";
  sb_uc_normal = "%N$*";
  sb_uc_space = "%K,";

  # nact.pl settings
  nact_display = "$1%G>%N$0%R>%N$2";
  nact_command = "$1: [DN:$0 UP:$2]";
};


formats = {
  "fe-common/core" = {
    join = "%K»»%N$[-9]0%K» {chanhost $1} %Kjoins $2";
    part = "%K««%N$[-9]0%K« {chanhost $1} %Kleaves $2 {reason $3}";
    quit = "%K««%N$[-9]0%K« {chanhost $1} %Kquits {reason $2}";
    kick = "%R«%r«%N$[-9]0%K  was kicked from%N {channel $1} %Kby%N $2 {reason $3}";
    own_msg = "{ownmsgnick $2 {ownnick $[0]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 = "{pubmsgnick $2 {pubnick \00310$[0]0}}$1";
    pubmsg_channel = "{pubmsgnick $3 {pubnick $[-9]0}{msgchannel $1}}$2";
    set_item = "$0 %K=%N $1";
    line_start_irssi = "{line_start}{hilight %KIrssi:%N }";
    nick_changed = "%K--%N{channick $[-9]0}%K- is now known as%N {nick $1}";
    your_nick_changed = "%K--%N You're now known as {nick $1}";
    daychange = "%K----%N Day changed to %%d %%b %%Y";
  };
  "fe-common/irc" = {
    chanmode_change = "%K--modechange {channel $0}:%N {mode $1} %Kby%N $2";
    whois = "%K,-%w-%W-%nWhois%W-%w-%K<%N $0 {chanhost_hilight $1@$2}%n%:%K|%n {whois ircname $3}";
    whois_idle = "%K|%n {whois idle %|$1d $2h $3m $4s}";
    whois_idle_signon = "%K|%n {whois idle %|$1d $2h $3m $4s {comment signon: $5}}";
    whois_server = "%K|%n {whois server %|$1 {comment $2}}";
    whois_oper = "%K|%n {whois  {hilight $1}}";
    whois_registered = "%K|%n {whois  has registered this nick}";
    whois_help = "%K|%n {whois  is available for help}";
    whois_modes = "%K|%n {whois modes $1}";
    whois_realhost = "%K|%n {whois hostname $1-}";
    whois_usermode = "%K|%n {whois usermode $1}";
    whois_channels = "%K|%n {whois channels %|$1}";
    whois_away = "%K|%n {whois away %|$1}";
    whois_special = "%K|%n {whois info %|$1}";
    whois_extra = "%K|%n {whois extra %|$1}";
    end_of_whois = "%K`---------------- --  --- -   -   -";
    whois_not_found = "%K>%w>%W>%N There is no such nick $0";

    # very ugly. But recently some EFNet IRCDs send an annoying
    # "actually using host" message along with whois.
    default_event_server = "%K|%n {whois ircdmsg $1 [$0]}";

    server_chanmode_change = "{netsplit IRCDMode}%K/$0 %n{mode $1} %Kby%N {nick $2}";
    own_action = "{ownaction $[-9]0}$1";
    action_public = "{pubaction $[-9]0}$1";
    action_public_channel = "{pubaction $[-9]0{msgchannel $1}}$2";
    channel_created = "%K-- Channel%n $0 %Kcreated%n $1";
    topic = "%K-- Topic for %n$0: $1";
    no_topic = "%K-- No topic set for %n$0";
    topic_info = "%K-- Topic set by%n {nick $0} {nickhost $2} {comment $1}";
    channel_synced = "%KJoin to%n {channel $0} %Kwas synced in%n {hilight $1} secs";
  };
};
