rainbow-dark: more aggressive darkening

- Body text color bumped from %w (light grey, sometimes renders ~white)
  to %K (dark grey / 'bright black'), affecting msgnick and all action
  templates.
- Statusbar / info bg changed from %8 (terminal default, which some
  terminals render as reverse-video white) to explicit %0 (black) so
  the bar is reliably dark everywhere.
- Added color to spots that were falling through to terminal default:
  whois values, servernotice body, wallop_nick, wallop_action body,
  dccfile.
- Expanded 'fe-common/core' formats block to override joins, parts,
  quits, kicks, nick/topic/mode changes, aways etc. — coloured nicks
  via the existing abstracts but the surrounding 'has joined' /
  'changed the topic' verbiage now renders in dim grey instead of
  stark white.
This commit is contained in:
2026-04-21 08:36:05 -07:00
parent 6bbe277ea9
commit 50449d73c4

View File

@@ -79,7 +79,7 @@ abstracts = {
# Angle brackets around nicks stay dark grey so the nick color is the star.
# Trailing %w tints the message body dim grey so it doesn't compete with
# the rainbow accents.
msgnick = "%K<%n$0$1-%K>%n %|%w";
msgnick = "%K<%n$0$1-%K>%n %|%K";
# Messages from you.
ownmsgnick = "{msgnick $0 $1-}";
@@ -114,13 +114,13 @@ abstracts = {
# Bright yellow asterisks so actions are unmistakable. Action text in dim
# grey to match ordinary message bodies.
action_core = "%_%Y * %n%w$*%n";
action_core = "%_%Y * %n%K$*%n";
action = "{action_core $*} ";
ownaction = "{action $*}";
ownaction_target = "{action_core $0}%K:%M$1%n ";
# Private actions get a parenthesized asterisk; keep it in bright yellow.
pvtaction = "%_%Y (*) %n%w$*%n ";
pvtaction = "%_%Y (*) %n%K$*%n ";
pvtaction_query = "{action $*}";
pubaction = "{action $*}";
@@ -128,8 +128,8 @@ abstracts = {
## other IRC events
##
# whois
whois = "%c %# $[8]0 : %n$1-";
# whois — cyan field name, dim-grey value
whois = "%c %# $[8]0 : %n%K$1-%n";
# notices — magenta stays the "alert" color
ownnotice = "[%_%m$0%_%K(%M$1-%K)]%n ";
@@ -137,8 +137,8 @@ abstracts = {
pubnotice_channel = "%K:%m$*";
pvtnotice_host = "%K(%m$*%K)";
# server notices — bright green so they feel "system-ish"
servernotice = "%_%G!%n$*%n ";
# server notices — bright green bang, dim-grey body
servernotice = "%_%G!%n%K$*%n ";
# CTCPs — bright green
ownctcp = "[%_%g$0%_%K(%G$1-%K)] ";
@@ -146,8 +146,8 @@ abstracts = {
# wallops
wallop = "%_%Y$*%n%_: ";
wallop_nick = "%n$*";
wallop_action = "%_%Y * $*%n%_ ";
wallop_nick = "%K$*%n";
wallop_action = "%_%Y * %n%K$*%n ";
# netsplits / netjoins — red fall, green rise
netsplit = "%_%R$*%n%_";
@@ -164,7 +164,7 @@ abstracts = {
# DCC — green family so transfers read as "network-y"
dcc = "%_%G$*%n%_";
dccfile = "%_$*%_";
dccfile = "%_%K$*%n%_";
# DCC chat, own msg/action
dccownmsg = "[%_%r$0%_%K($1-%K)%n] ";
@@ -176,21 +176,22 @@ abstracts = {
# DCC chat, others
dccmsg = "[%_%G$1-%_%K(%g$0%K)%n] ";
dccquerynick = "%_%G$*%n%_";
dccaction = "%_%Y (*dcc*) %n%w$*%n %|";
dccaction = "%_%Y (*dcc*) %n%K$*%n %|";
##
## statusbar — the rainbow lives here
##
# Dark grey bg with white default fg. Individual items override with
# their own color for the rainbow effect.
sb_background = "%8%w";
# Explicit black bg with light-grey fg. (%8 / "default" bg varied per
# terminal — on some it renders as reverse-video white, breaking the
# dark aesthetic.) Individual items override with their own rainbow.
sb_background = "%0%w";
# Input line sits on the terminal's normal background.
sb_prompt_bg = "%n";
# Info bar (the middle one) — slightly different dark tone.
sb_info_bg = "%8";
# Info bar (middle statusbar) — same explicit black.
sb_info_bg = "%0";
sbstart = "";
sbend = " ";
@@ -213,5 +214,28 @@ abstracts = {
};
formats = {
"fe-common/core" = { pubmsg = "{pubmsgnick $2 {pubnick \00305$0}}$1"; };
# Common channel-event formats get explicitly wrapped in %K (dark grey)
# so the plain-text body doesn't fall through to the terminal default
# (which on a typical dark terminal is stark white).
"fe-common/core" = {
pubmsg = "{pubmsgnick $2 {pubnick \00305$0}}$1";
join = "%K-->%n {channick_hilight $0} {chanhost_hilight $1} has joined {channel $2}";
part = "%K<--%n {channick $0} {chanhost $1} %Khas left%n {channel $2} {reason $3}";
quit = "%K<--%n {channick $0} {chanhost $1} %Khas quit%n {reason $2}";
quit_once = "%K<--%n {channick $0} {chanhost $1} %Khas quit%n {channel $2} {reason $3}";
kick = "%K<--%n {channick $0} %Kwas kicked from%n {channel $1} %Kby%n {nick $2} {reason $3}";
nick_changed = "%K-!-%n {channick $0} %Kis now known as%n {channick_hilight $1}";
your_nick_changed = "%K-!-%n %KYou're now known as%n {channick_hilight $1}";
topic = "%K-!-%n %KTopic for%n {channel $0}%K:%n %K$1%n";
topic_info = "%K-!-%n %KTopic set by%n {nick $0} {nickhost $1} %K($2)%n";
new_topic = "%K-!-%n {nick $0} %Kchanged the topic of%n {channel $1} %Kto:%n %K$2%n";
server_changed = "%K-!-%n %KServer changed to%n %_$1%_";
chanmode_change = "%K-!-%n %Kmode/%n{channelhilight $0} {mode $1} %Kby%n {nick $2}";
usermode_change = "%K-!-%n %Kmode/%n{nick $1} {mode $0}";
away = "%K-!-%n %Kzzz: %n$0";
unaway = "%K-!-%n %Kwelcome back%n";
own_msg = "{ownmsgnick $2 {ownnick $0}}$1";
own_msg_channel = "{ownmsgnick $3 {ownnick $0}{msgchannel $1}}$2";
own_msg_private_query = "{ownprivmsgnick {ownprivnick $2}}$1";
};
};