From 6e528248414e330c9e25e81596ab47b8b8a5b701 Mon Sep 17 00:00:00 2001 From: terminaldweller Date: Fri, 14 May 2021 22:44:50 +0430 Subject: first commit --- irssi/solarized-powerline.theme | 419 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 419 insertions(+) create mode 100644 irssi/solarized-powerline.theme (limited to 'irssi/solarized-powerline.theme') diff --git a/irssi/solarized-powerline.theme b/irssi/solarized-powerline.theme new file mode 100644 index 0000000..c214262 --- /dev/null +++ b/irssi/solarized-powerline.theme @@ -0,0 +1,419 @@ +# vim: set expandtab: +# (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%9$*%9%N%Z005f87%n"; + + # any kind of text that needs hilighting, default is to bold + hilight = "%_$*%_"; + + # any kind of error message + error = "%r$*%n"; + + # channel name is printed + channel = "%Z00af00$*%n"; + + # nick is printed + nick = "%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 = "%9%Zeeeeee%z00af00$*%9%n"; + + # some kind of comment is printed + comment = " $*"; + + # 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 = "%R$*%n"; + + + ## + ## messages + ## + + # the basic styling of how to print message, $0 = nick mode, $1 = nick + msgnick = "%z005f87%Zeeeeee $0%Zeeeeee{nick $1-} %Zeeeeee"; + + # 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%9 $0$1-%9}%N%0%Z5f5fff %Zeeeeee"; + ownnick = "%Zeeeeee$*"; + + # public message in channel, $0 = nick mode, $1 = nick + pubmsgnick = "%z005f87%k%Zeeeeee{%Zeeeeee%z005f87msgnick $0$1-}%N%Z005f87 %n"; + pubnick = "%Zeeeeee$*"; + + # public message in channel meant for me, $0 = nick mode, $1 = nick + # %5 = magenta + pubmsgmenick = "%5%k%Z0087ff{msgnick $0$1-}%N%m %n"; + menick = "%Zeeeeee$*"; + + # public highlighted message in channel + # $0 = highlight color, $1 = nick mode, $2 = nick + pubmsghinick = " %z005f87%k%z005f87{%Zeeeeee%z005f87msgnick $1 %Zeeeeee$2-}%N%Z005f87 %n"; + + # 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%9 $*%9}%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 %N%k%#%N $[8]0  %Y$1-"; + + # notices + ownnotice = "%1%k %k$0 %k%1%8%0 {ichannelhilight $1-} %k%z00af5f%N "; + notice = "%1%k %k$0- %r%0%N "; + #notice = "%1%w %W$* %k%8%n "; + pubnotice_channel = "{ichannelhighlight $*}"; + #pubnotice_channel = "%G%n$*"; + pvtnotice_host = " %k%n {hickhost $*}"; + servernotice = "%1%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 = "%r$*%n"; + netjoin = "%g$*%n"; + + # /names list + names_prefix = "%N%k%n"; + names_nick = " %G%_$0%_$1-%N  "; + names_nick_op = " %k%_$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%9"; + # text at the end of statusbars. Use space so that it's never + # used for anything. + sbend = "%9%n"; + + topicsbstart = "{sbstart $*}"; + topicsbend = "{sbend $*}"; + + prompt = "%9%k%z005f87$c $* %N%Z005f87%9%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 = "%R$1-"; + + ### For usercount.pl script + + sb_usercount = "{sb $0 users %Z005f87(%n$1-%Z005f87)}"; + sb_uc_ircops = "%k*%n$*"; + sb_uc_ops = "%y@%n$*"; + sb_uc_halfops = "%p%%%n$*"; + sb_uc_voices = "%Z005f87+%n$*"; + sb_uc_normal = "%k %n$*"; + sb_uc_space = "%K·%n"; + + ### For adv_windowlist.pl script + + # Mentioned in adv_windowlist but not default_theme + sb_act_none = "$*"; +}; + +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%zff0000IRSSI%N%Zff0000 %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%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"; + }; + "fe-common/irc" = { + away = "%k%z00d700AWAY %N%k%N"; + banlist = "%p%z00d700BANS %z00d700 $[-3]0 %8 {ichannelhilight $1} %N%8%n%k%N {ban $2}"; + banlist_long = "%p%z00d700BANS %z00d700 $[-3]0 %8 {ichannelhilight $1} {comment by {inick $3}%0%k, $4 secs ago} %N%8%n%k%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 = "%p%z00d700BANS %k exception %8 {ichannelhilight $0} %N%8%n%k%N {ban $1}"; + ebanlist_long = "%p%z00d700BANS %k exception %8 {ichannelhilight $0} {comment by {inick $2}%0%k, $3 secs ago} %N%8%n%k%N {ban $1}"; + end_of_who = "%z00d700%kWHO %N%k%N END"; + end_of_whois = "%z00d700%kWHOIS %N%k%N END"; + end_of_whowas = "%z00d700%kWHOWAS %N%k%N END"; + netsplit = "%k%1%8%8 NETSPLIT %k%0%8 {iserver $0} %z00d700%8 {iserver $1}%8 %N%8%n%k%N Quits: $2"; + netsplit_join = "%k%1 NETSPLIT %k%8%N Joins: $0"; + netsplit_join_more = "%k%1 NETSPLIT %k%8%N Joins: $0 (+$1 more)"; + netsplit_more = "%k%1%8%8 NETSPLIT %k%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%1 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 %N%k%N END"; + usermode_change = "%z008700%ZeeeeeeMODE %N%Z008700%N {mode $0}%N for %0{mynick $1}%N"; + who = "%z00d700%kWHO %z005f87%k {inick $[!9]1} %Z005f87 %k$0 %0%g Status: $[!3]2  $[-2]3 hops %N%k%N {nickhost $4@$5} {comment $6}"; + whois = "%z00d700%kWHOIS %N%k%n {nick $0} {nickhost $1@$2}%:{whois ircname $3}"; + whowas = "%z00d700%kWHOWAS %N%k%n {nick $0} {nickhost $1@$2}%:{whois was $3}"; + }; + "Irssi::Script::adv_windowlist" = { + awl_display_header = ""; + awl_display_key = " %0$N  $H$C$S %n"; + awl_display_key_active = "%9%W%Z008700%0%8 %zeeeeee$N  $H$C$S%8 %0%8%8%9%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 = ""; + }; +}; -- cgit v1.2.3