aboutsummaryrefslogblamecommitdiffstats
path: root/irssi/solarized-powerline.theme
blob: a0e32adc142f63ef02864eb007f3b912f96040d5 (plain) (tree)
1
2
                     
                    




























































                                                                                                   
                             













                                                            
                                                 

                                                              
                 

                             
                         




                           
                                          
                                    



                                     






                                          
                                   

                                   
                                       





























                                                                                                                
                                    






                                                                        
                                                             


















                                                                           

                                                                       

                                                        

                                                                                            


                                                                     

                                                                            


                                                   
                                                                                                           














                                                                                 
                                                                













                                                                              
                                 






















                                                                              
                                                                

           

                                                                                            



                                               
                                                  










                                                                    
                            



                             
                                 
                                      






                                                   
                 













































                                                                                          
                       

                                                               
               



                                
                                                                                    






















                                                                                          
                                       
 
                           






                                                                                                               
 
                                

                                                     

































                                                                    



                      

                                                                                                                           
                                                         

                                                                                                  
                                                                                                                             
                                                                                             
                                                                                                           









                                                                                                    

                     
                                            

                                                                                                                                                       








                                                                                                                                    
                                                         

                                                                                                                                                


                                                           
                                                                                                                             

                                                                                    
                                                                                                                                                                                

                                                                                 
                                                                                                           

                                                                                    
                                                  
                                                                                             


                                                                                                                                                                         



                                                                        

                                     

                                              
                                                                                     


                                                                           
                                                                            
                          
    











                                                 
  
# vim: set expandtab:
# vim: filetype=perl
# (Adapted from solarized-universal theme by Huy Z: https://github.com/huyz/irssi-colors-solarized)
# Adaped by: Paul Saunders
# later adapted by: Farzad Sadeghi https://github.com/terminaldweller
# 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.

#############################################################################
# https://irssi.org/documentation/settings/#a_d

# 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 = { "[]=" = "$*"; };

abstracts = {
  ##
  ## generic
  ##

  # text to insert at the beginning of each non-message line
  # %N = terminal default (e.g. white on transparent)
  # %G = brightgreen (Solarized: base01, i.e. darkest gray)
  #line_start = "%N%W %N";
  line_start = "%N";

  # timestamp styling, nothing by default
  # %N%8 = reverse normal (to match line_start)
  timestamp = "%N%k%z005f87$*%N%Z005f87%n";

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

  # any kind of error message
  error = "%Zff8700$*%n";

  # channel name is printed
  channel = "%Z00af00$*%n";

  # nick is printed
  nick = "%z005f87%Zeeeeee{nickcolor $*}";
  mynick = "%Zeeeeee{nickcolor $*}";
  inick = "%Zeeeeee{nickcolor $*}";
  # Inverted
  imynick = "%Zeeeeee{nickcolor $*}";
  # Inverted

  # nick host is printed
  # (that's the "email" address of a user)
  nickhost = "%Z005f5f$*";

  # server name is printed
  server = "%Z00af00$*";
  iserver = "%Zeeeeee%z00af00$*%n";

  # some kind of comment is printed
  comment = "%Zff8700  %N $*";

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

  # mode change is printed ([+o nick])
  mode = "%N%0%p$*%n";

  ##
  ## channel specific messages
  ##

  # highlighted nick/host is printed (joins)
  # %c = cyan (Solarized: cyan)
  # %G = brightgreen (Solarized: base01)
  # NOTE: %n doesn't work in irssi v0.8.15 for some reason.  So we have to end with the same color as line_start
  channick_hilight = "%Z00af00$*%G";
  chanhost_hilight = "%Z00af00{nickhost $*}%N";

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

  # highlighted channel name is printed
  # SOLARIZED: Channels are Green
  channelhilight = "%N%0%g$*%N";
  ichannelhilight = "%z005f87$*%n%0";

  # ban/ban exception/invite list mask is printed
  # %R = brightred (Solarized: orange)
  # %n = return
  ban = "%zff5f00$*%0%Zff5f00%n";


  ##
  ## messages
  ##

  # the basic styling of how to print message, $0 = nick mode, $1 = nick
  msgnick = "%z005f87%Zeeeeee $0%Zeeeeee{nick $1-} %Z005f5f";

  # 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
  # %3 = yellow
  ownmsgnick = "%z5f5fff%k{%z5f5fff $0$1-}%N%0%Z5f5fff %Z005f5f";
  ownnick = "%Zeeeeee$* %Z005f5f";

  # public message in channel, $0 = nick mode, $1 = nick
  pubmsgnick = "%z005f87%k%Zeeeeee{%Zeeeeee%z005f87msgnick $0$1-}%N%Z005f87 %Z005f5f";
  pubnick = "%Zeeeeee$* %Z005f5f";

  # public message in channel meant for me, $0 = nick mode, $1 = nick
  # %5 = magenta
  pubmsgmenick = "%K%m%5%k%Z0087ff{msgnick $0$1-}%N%m %Z005f5f";
  menick = "%Zeeeeee$* %Z005f5f";

  # public highlighted message in channel
  # $0 = highlight color, $1 = nick mode, $2 = nick
  pubmsghinick = " %z005f87%k%z005f87{%Zeeeeee%z005f87msgnick $1 %Zeeeeee$2-}%N%Z005f87 %Z005f5f";

  # channel name is printed with message
  # This is printed whenever the channel name is printed for disambiguation, e.g.
  # while there is a query in the same window.  Example: <+funnyuser:#test> hello
  msgchannel = "%z005f5f%k:$*%n";

  # private message, $0 = nick, $1 = host
  # TODO: To test for Solarized
  privmsg = " %m$0%G<%n$1-%G>%n ";

  # private message from you, $0 = "msg", $1 = target nick
  # TODO: To test for Solarized
  ownprivmsg = " %Z005f87$0%G<%Z005f87$1-%G>%n ";

  # own private message in query
  ownprivmsgnick = "%z5f5fff%k{%z5f5fff $*}%N%Z5f5fff %C";
  ownprivnick = "%k$*";

  # private message in query
  # NOTE: for some reason, we gotta handle both the nick & msg on in this line
  privmsgnick = "%5%k{msgnick $*}%N%m %n";

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

  # used internally by this theme
  action_core = "%N%k %n$*";

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

  # own action, both private/public
  ownaction = "%N%k {mynick $0}%N%C $1-";

  # own action with target, both private/public
  # NOTE: to test: /action NICK farted.  (This will tell NICK that you farted)
  #   This is like a /me but only you and NICK will see
  ownaction_target = "{action_core $0}%G:%y$1%n ";

  # private action sent by others
  # %M = brightmagenta (Solarized: violet)
  pvtaction = "%m (*) $*%n ";
  pvtaction_query = "{action $*}";

  # public action sent by others
  pubaction = "%N%k {nick $0}%N $1-";


  ##
  ## other IRC events
  ##

  # whois
  whois = "%k%z005f87WHOIS %0%Z005f87%N%#%N $[8]0  %Y$1-";

  # notices
  ownnotice = "%z8787ff%k %k$0 %k%z8787ff%8%0 {ichannelhilight $1-} %k%z00af5f%N ";
  notice = "%z5f5fd7%k %k$0- %Z5f5fd7%0%N ";
  #notice = "%1%w %W$* %k%8%n ";
  pubnotice_channel = "{ichannelhighlight $*}";
  #pubnotice_channel = "%G%n$*";
  pvtnotice_host = " %k%n {hickhost $*}";
  servernotice = "%z8787ff%k %k!$* %k%8%n ";

  # CTCPs
  ownctcp = "%k%z005f87 %k$0%G %N%Z005f87 %Z005f87$1-%G  ";
  ctcp = "%N%k%n %Zeeeeee$*%n";

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

  # netsplits
  netsplit = "%z5f5fd7$*%n";
  netjoin = "%g$*%n";

  # /names list
  names_prefix = "%N%k%n";
  names_nick = " %G$0$1-%N  ";
  names_nick_op = " %g$0$_$1-%n  ";
  names_nick_halfop = " %Y$_$0$_$1-%n  ";
  names_nick_voice = " %C$_$0$_$1-%n  ";
  names_users = "%k%z005f87 $* %Z005f87%0%n";
  names_channel = " %k$*";

  # DCC
  dcc = "%N%k%n %g$*%n";
  dccfile = "$*";

  # DCC chat, own msg/action
  dccownmsg = "[%Z005f87$0%G($1-%G)%n] ";
  dccownnick = "%Z005f87$*%n";
  dccownquerynick = "%c$*%n";
  dccownaction = "{action $*}";
  dccownaction_target = "{action_core $0}%G:%c$1%n ";

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

  ##
  ## statusbar
  ##

  # default background for all statusbars. You can also give
  # the default foreground color for statusbar items.
  # NOTE: if all the other overriding settings below are set, this only seems to affect
  #   the content parts of the adv_windowlist.  Default seems to be blue
  # NOTE: if not set, the default background seems to be %w%4 = white on blue
  sb_background = "%k%z1c1c1c";

  # default backround for "default" statusbar group
  # NOTE: this impacts the statusbar of an inactive window and the edges of adv_windowlist
  # %7 = white (wich looks gray on a regular terminal with white bg)
  sb_default_bg = "%Z005fff";

  # background for topicbar at the top (defaults to sb_default_bg)
  sb_topic_bg = "%W%0";

  # background for the statusbar of active window. You can also give
  # the foreground color.
  # %2 = green
  sb_window_bg = "%k%0";

  # background for prompt / input line
  sb_prompt_bg = "%k";
  # background for info statusbar
  # %8 = reverse window
  # TODO: To test for Solarized
  sb_info_bg = "%z1c1c1c";

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

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

  prompt = "%k%z005f87%9$c $*%w%k$R%w%k$S%w%k$N%w%k$T %N%Z005f87%n ";

  # This controls each part of a statusbar, including the outer brackets of adv_windowlist
  sb = "$*";
  # The mode is next to your NICK and the channel
  sbmode = "%p$*%k";
  sbaway = "%Z00af00%k%z00af00 zZzZzZzZ %Z00af00%0";
  sbservertag = "%Z00af00 $0 %Z005f87(change with ^X)%n";
  sbnickmode = "%Zeeeeee$0";

  # activity in statusbar

  # ',' separator between the window numbers
  # %g = green (same color as the active statusbar so we dont' see it)
  sb_act_sep = "%Z005fff+";
  # normal text
  # This also affects the color of the window with activity in adv_windowlist
  sb_act_text = "%C$*";
  # public message (ordinary messages)
  sb_act_msg = "%c$*";
  # hilight (when people actually chat)
  # This also affects the color of the window with direct message in adv_windowlist
  sb_act_hilight = "%m$*";
  # hilight with specified color, $0 = color, $1 = text
  sb_act_hilight_color = "%z5f5fd7$1-";

  # For usercount.pl script
  sb_usercount = "%Z000000%z005faf%Z000000%z005faf{sb $0 nicks %Zeeeeee %Z000000$1-%Z005faf%z000000}";
  sb_uc_ircops = "%Z000000%z005faf*$*";
  sb_uc_ops = "%Z000000%z005faf@$*";
  sb_uc_halfops = "%Z000000%z005faf%%$*";
  sb_uc_voices = "%Z000000%z005faf+$*";
  sb_uc_normal = "$*";
  sb_uc_space = " ";

  # For adv_windowlist.pl script
  # Mentioned in adv_windowlist but not default_theme
  sb_act_none = "$*";

  # for dcc stats
  # $0 = sb_ds_short(_waiting)/sb_ds_normal(_waiting)
  sb_dccstat = "{sb $0-}";
  # $0 = G/S
  # $1 = filename
  # $2 = transfer speed
  # $3 = percent
  # $4 = progressbar
  sb_ds_short = "$0%G:%n$1%Y@%n$2kB/s%G:%n$4%G:%n$3";
  # $0 = G/S
  # $1 = filename
  # $2 = to/from
  # $3 = nick
  sb_ds_short_waiting = "$0%G:%n$1 $2 $3 waiting";
  # $0 = GET/SEND
  # $1 = nick
  # $2 = filename
  # $3 = transferred amount
  # $4 = full filesize
  # $5 = percent
  # $6 = speed
  # $7 = ETA
  # $8 = progressbar
  # $9 = rotator thingy :)
  sb_ds_normal = "$0 $1: '$2' $3 of $4 [$8] $9 ($5) $6kB/s ETA: $7";
  # $0 = GET/SEND
  # $1 = nick
  # $2 = filename
  # $3 = full filesize
  # $4 = to/from
  # $5 = nick
  sb_ds_normal_waiting = "$0 $1: '$2' $3 $4 $5 waiting";
  sb_ds_separator = ", ";
};

formats = {
  "fe-common/core" = {
    daychange = "           %g-----%k-%W-%n Day changed to %%D %W-%k-%g-----%n";
    join = "%k%z00af5fJOIN %8 {ichannelhilight $2} %0%Z00d700%0 {inick $0}%0 %N%8%n%k%N {chanhost_hilight $1}";
    line_start_irssi = "%k%z5f5fd7IRSSI%N%Z5f5fd7 %N";
    new_topic = "%k%z00d700TOPIC %8 {ichannelhilight $1} by {inick $0}%8  $2";
    nick_changed = "%k%z00d700RENAME %Z00d700%0 {nick $0} %Zff8700 {nick $1} %N%8%n%k%N";
    part = "%K%Z00d700%k%z00d700PART %8 {ichannelhilight $2}%N %0%Z005f87 %N{inick $0}%0 %k%Zeeeeee {reason $3}";
    quit = "%0%Z005f00%k%z005f00QUIT %N {inick $0}%0 %Zeeeeee %N%n%k%N {reason $2}";
    your_nick_changed = "%k%z00d700RENAME %Z00d700%0 {mynick $0} %Zff8700 {mynick $1} %N%8%n%k%N";
    own_msg = "{ownmsgnick $nickalign$2 {ownnick $nickcolor$0$nicktrunc}}$1";
    own_msg_channel = "{ownmsgnick $nickalign$3 {ownnick $nickcolor$0$nicktrunc}{msgchannel $1}}$2";
    own_msg_private_query = "{ownprivmsgnick $nickalign{ownprivnick $nickcolor$2$nicktrunc}}$1";
    pubmsg_me = "{pubmsgmenick $nickalign$2 {menick $0$nicktrunc}}$1";
    pubmsg_me_channel = "{pubmsgmenick $nickalign$3 {menick $0$nicktrunc}{msgchannel $1}}$2";
    pubmsg_hilight = "{pubmsghinick $0 $nickalign$3 $1$nicktrunc}$2";
    pubmsg_hilight_channel = "{pubmsghinick $0 $nickalign$4 $1$nicktrunc{msgchannel $2}}$3";
    pubmsg = "{pubmsgnick $nickalign$2 {pubnick $nickcolor$0$nicktrunc}}$1";
    pubmsg_channel = "{pubmsgnick $nickalign$3 {pubnick $nickcolor$0$nicktrunc}{msgchannel $1}}$2";
    msg_private_query = "{privmsgnick $nickalign$nickcolor$0$nicktrunc}$2";
  };
  "fe-common/irc" = {
    away = "%k%z00d700AWAY %Z00d700%0%N";
    banlist = "%k%z005f00BANS %z005f00 $[-3]0 %8 %z005f00{ichannelhilight $1} %k%N {ban $2}";
    banlist_long = "%k%z005f00BANS %z005f00 $[-3]0 %8 %z005f00{ichannelhilight $1} {comment by {inick $3}%0%k,%Z005f00 $4 secs ago} %N {ban $2}";
    chanmode_change = "%k%z008700MODE %N%Z008700%N {channelhilight $0} %Zeeeeee%n {mode $1}%n by {nick $2}";
    channel_created = "%k%N Channel {channelhilight $0} created $1";
    channel_mode = "%k%N mode/{channelhilight $0} {mode $1}";
    ctcp_default_reply = "%W%0%N $0- ";
    ctcp_ping_reply = "%k%z005f87 CTCP {hilight PING} reply %n%Z005f87%N {nick $0} %y%N%n $1.$[-3.0]2 seconds ";
    ctcp_reply = "%k%z005f87 CTCP {hilight $0} reply %n%Z005f87%N {nick $1} %y%N $2 ";
    ctcp_reply_channel = "%k%z005f87 CTCP {hilight $0} reply %n%Z005f87%N {nick $1} %y%N {channel $3} %y%N $2";
    ctcp_requested = "%k%z005f87%8%8 CTCP {hilight $2} from {mynick $4} %n%Z005f87%N by {hilight $0} {comment $1} %y%N $3";
    default_event = "%N%k %N%n$1";
    default_event_server = "%k%z00d700$0 %N%k %N%n$1";
    ebanlist = "%k%z005f00BANS %k exception %8 %z005f00{ichannelhilight $0} %N {ban $1}";
    ebanlist_long = "%k%z005f00BANS %k exception %8 {ichannelhilight $0} %z005f00{comment by {inick $2}%0%k, $3 secs ago} %N {ban $1}";
    end_of_who = "%z00d700%kWHO %Z00d700%0%N END";
    end_of_whois = "%z00d700%kWHOIS %Z00d700%0%N END";
    end_of_whowas = "%z00d700%kWHOWAS %Z00d700%0%N END";
    netsplit = "%k%z8787ff%8%8 NETSPLIT %0%w%0%8 {iserver $0} %z00d700%8 {iserver $1}%8 %N%8%n%k%N Quits: $2";
    netsplit_join = "%k%z8787ff NETSPLIT %k%8%N Joins: $0";
    netsplit_join_more = "%k%z8787ff NETSPLIT %k%8%N Joins: $0 (+$1 more)";
    netsplit_more = "%k%z8787ff%8%8 NETSPLIT %0%w%0%8 {iserver $0} %z00d700%8 {iserver $1}%8 %N%8%n%k%N Quits: $2 (+$3 more, use /NETSPLIT to show all of them)";
    no_topic = "%k%N No topic set for {channelhilight $0}";
    own_ctcp = "%k%z005f87 CTCP {hilight $2-}  {inick $0} %n%Z005f87%N";
    server_chanmode_change = "%k%z8787ff SERVERMODE %k%8 {channelhilight $0} {mode $1} by {nick $2}";
    topic = "%k%z00d700TOPIC %Z00d700%0%N {channel $0}%N  $1";
    topic_info = "%k%z00d700TOPIC %Z00d700%0%N {nick $0}%N {nickhost $2}  $1";
    unaway = "%k%z00d700AWAY %Z00d700%0%N END";
    usermode_change = "%z008700%ZeeeeeeMODE %N%Z008700%N {mode $0}%N for %0{mynick $1}%N";
    who = "%z00d700%kWHO %Z00d700%z005f87 %z005f87%k{inick $[!9]1} %Z005f87%2 %k$0 %0%g Status: $[!3]2  $[-2]3 hops %N%g%N {nickhost $4@$5} {comment $6}";
    whois = "%z00d700%kWHOIS %Z00d700%z005f87 {nick $0} %Z005f87%0 {nickhost $1@$2}%:{whois ircname $3}";
    whowas = "%z00d700%kWHOWAS %Z00d700%0%n {nick $0} {nickhost $1@$2}%:{whois was $3}";
    own_action = "$nickalign{ownaction $0$nicktrunc}$1";
    action_private = "$nickalign{pvtaction $0$nicktrunc}$2";
    action_private_query = "$nickalign{pvtaction_query $0$nicktrunc}$2";
    action_public = "$nickalign{pubaction $0$nicktrunc}$1";
  };
  "Irssi::Script::adv_windowlist" = {
    awl_display_header = "";
    awl_display_key = "  %0$N  $H$C$S  %n";
    awl_display_key_active = "%W%Z008700%0%8 %zeeeeee$N  $H$C$S%8 %0%8%8%n";
    awl_display_key_visible = "%Z005fff %m$N %k $H$C$S %8%8%n";
    awl_display_nokey = "  %0$N  %U$C%U  %n";
    awl_display_nokey_active = "%k%z005f87 %k$N %k %U$C%U %8%8%n";
    awl_display_nokey_visible = "%k%z5f5fff %m$N %k %U$C%U %8%8%n";
    awl_separator = "";
  };
  "Irssi::Script::usercount" = {
    sb_usercount = "%z00af5f{sb $0 nicks ($1-)}";
    sb_uc_ircops = "%z00d787*$*";
    sb_uc_ops = "%z00d787@$*";
    sb_uc_halfops = "%z00d787%%$*";
    sb_uc_voices = "%z00af5f+$*";
    sb_uc_normal = "$*";
    sb_uc_space = " ";
  };
  "Irssi::Script::hilite_url" = {
    url_color = "38;5;6";
  };
};