# :::::::::::::[ irssi theme cyanic v0.1 by bracket ]::::::::::::::

# this theme is still under construction, and i guess it will be
# that way forever. :) this theme will _not_ work on networks which
# support nicknames longer than 9 chars. i made it for myself and 
# i use only ircnet.

# you can send any comments, complaints and/or request to 
# bracket@welho.com or /msg me on ircnet.

# :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

# default foreground color (%N) - -1 is the "default terminal color"
default_color = "%w";

# 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$*%w"; };

abstracts = {
  ##
  ## generic
  ##

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

  # timestamp styling, nothing by default
  timestamp = "%K( %c$*%K";

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

  # any kind of error message, default is bright red
  error = "%R$*%w";

  # 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$*%w";
  chanhost_hilight = "{nickhost %c$*%w}";

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

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

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

  ##
  ## messages
  ##

  # the basic styling of how to print message, $0 = nick mode, $1 = nick
  msgnick = "%G$0%C$1 %K) %|%w";

  # 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 = "%W$*%w";

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

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

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

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

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

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

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

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

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


  # used internally by this theme
  # action_core = "%W$[-9]0- * %w";
  action_core = "%C$0-%w";

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

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

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

  # private action sent by others
  pvtaction = "%W (*) $*%w ";
  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)]%w ";
  notice = "%K-%Y$*%K-%w ";
  pubnotice_channel = "%K:%m$*";
  pvtnotice_host = "%K(%m$*%K)";
  servernotice = "%g!$*%w ";

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

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

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

  # /names list
  names_prefix = "";
  names_nick = "%K[%_%c$0%_%C$1-%K] %w";
  names_nick_op = "{names_nick $*}";
  names_nick_halfop = "{names_nick $*}";
  names_nick_voice = "{names_nick $*}";
  names_users = "[%C$*%w]";
  names_channel = "%W$*%w";

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

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

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

  ##
  ## statusbar
  ##

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

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

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

  sb = " %K[%k$*%K]%w";
  sbmode = "%K(%W+%C$*%K)";
  sbaway = " %K(%K-%Waway%K-%K)";
  sbservertag = ":$0 %K(%Cchange with %W^X%K)";
  sbnickmode = "$0";

  # activity in statusbar

  # ',' separator
  sb_act_sep = "%K$*";
  # normal text
  sb_act_text = "%K$*";
  # public message
  sb_act_msg = "%C$*";
  # hilight
  sb_act_hilight = "%Y$*";
  # hilight with specified color, $0 = color, $1 = text
  sb_act_hilight_color = "$0$1-%w";
};
formats = {
  "fe-common/core" = {
    join = "{channick $[-10]0} %G>%n %|{chanhost_hilight $1} has joined {channel $2}";
    part = "{channick $[-10]0} %w<%n %|{chanhost $1} has left {channel $2} {reason $3}";
    kick = "{channick $[-10]0} %R<%w %|kicked from {channel $1} by {nick $2} {reason $3}";
    quit = "{channick $[-10]0} %Rx%n %|{chanhost $1} has quit irc {reason $2}";
    quit_once = "{channel $3} {channick $0} {chanhost $1} quit {reason $2}";
    nick_changed = "{channick $[-10]0} %W=%w {channick_hilight $1}";
    your_nick_changed = "{channick $[-10]0} %W=%w {channick_hilight $1}";
    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 = "{pubmsgnick $2 {pubnick $[-9]0}}$1";
    pubmsg_channel = "{pubmsgnick $3 {pubnick $[-9]0}{msgchannel $1}}$2";
    own_msg_private = "{ownprivmsg msg $[-10]0}$1";
    own_msg_private_query = "{ownprivmsgnick {ownprivnick $[-10]2}}$1";
    msg_private = "{privmsg $[-10]0 $1}$2";
    msg_private_query = "{privmsgnick $[-10]0}$2";
    new_topic = "     %wtopic %W= %|%c'%C$2%c' %won {channel $1}[set by {nick %W$0}]";


    daychange = "%K( %Wday changed to %%d %%b %%Y %K)";
  };
  "fe-common/irc" = {
    chanmode_change = "      %wmode %W- %|%w({channelhilight $0} {mode $1}%w) by {nick %W$2}";
    channel_mode = "      %wmode %W- %|%w({channelhilight $0}%K) {mode $1}";
    netsplit = "[{netsplit netsplit}] %W/%w %|{server $0} <-> {server $1} quits: %W$2";
    netsplit_more = "[{netsplit netsplit}] %W/%w %|{server $0} <-> {server $1} quits: $2 (+$3 more, use /NETSPLIT to show all of them)";
    netsplit_join = "[{netjoin netsplit}] %W-%w %|joins: %W$0";
    netsplit_join_more = "[{netjoin netsplit}] %W-%w %|over, joins: $0 (+$1 more)";

    whois = "%w.-[%C%%]%w- %wthe whois of {nick %W$0} %w-[%C%%]%w- %K)%:| host     : {%Wnickhost %W$1@$2} %K)%:|{whois ircname %W$3} %K)";
    whowas = "%w.-[%C%%]%w- %wthe whowas of {nick %W$0} %w-[%C%%]%w- %K)%:| host     : {%Wnickhost %W$1@$2} %K)%:|{whois ircname %W$3} %K)";
    whois_idle = "|{whois idle %|%W$1 %wdays and %W$2%w:%W$3%w:%W$4} %K)";
    whois_idle_signon = "|{whois idle %|%W$1 %wdays and %W$2%w:%W$3%w:%W$4 {comment signon: $5}} %K)";
    whois_server = "|{whois server %|%W$1 {comment $2}} %K)";
    whois_oper = "{whois  {hilight $1}}";
    whois_registered = "{whois  has registered this nick}";
    whois_help = "{whois  is available for help}";
    whois_modes = "{whois modes $1}";
    whois_realhost = "{whois hostname $1-}";
    whois_usermode = "{whois usermode $1}";
    whois_channels = "|{whois channels %|$1}%K)";
    whois_away = "|{whois away %|%W$1} %K)";
    whois_special = "{whois  %|$1}";
    whois_extra = "{whois  %|$1}";
    end_of_whois = "%w`-[%C%%]%w- %wend of whois -[%C%%]%w- %K)";
    end_of_whowas = "%w`-[%C%%]%w- %wend of whowas -[%C%%]%w- %K)";
    whois_not_found = "There is no such nick $0";
    who = "%#{channelhilight $[-10]0} %|{nick $[!9]1} $[!3]2 $[!2]3 $4@$5 {comment {hilight $6}}";
    end_of_who = "End of /WHO list";

  };
};

