Files
drunkendotfiles/.irssi/rainbow-dark.theme
dissimulo 99049754f9 rainbow-dark: swap teal accent for diff-style blue (#4a90e2)
Teal wasn't landing; try diff-header blue instead. Same %z<rgb>
24-bit foreground mechanism, just a different colour value.
2026-04-21 08:54:54 -07:00

242 lines
8.2 KiB
Plaintext

# rainbow-dark.theme
#
# A dark-background irssi theme that leans into a full rainbow for
# highlights, nicks, and statusbar accents. Reads best on a true-black
# or near-black terminal background (e.g. xterm-256color, 80% opacity,
# no bright-bold forced to normal weight).
#
# Activate:
# /set theme rainbow-dark
# /save
#
# When testing changes: /RELOAD picks up edits without restarting irssi.
# Remember to /SAVE before /RELOAD — /SAVE will overwrite this file
# otherwise. Keep a backup.
default_color = "-1";
info_eol = "false";
# Fade any bracket-ish punctuation to dark grey so the rainbow colors pop.
replaces = { "[]=()<>" = "%z4a90e2$*%n"; };
abstracts = {
##
## generic
##
# Rainbow dash at the start of non-message lines. Rotates R O Y G B I V
# across seven characters for the classic prism.
line_start = "%R-%Y-%Y-%G-%C-%B-%M-%n ";
# Dim cyan timestamps — present but recessive.
timestamp = "%z4a90e2$*%n";
# Highlight anything important in bold yellow.
hilight = "%_%Y$*%n%_";
# Errors in bright red, bold.
error = "%_%R$*%n%_";
# Channel names: bright magenta, bold.
channel = "%_%M$*%n%_";
# Default nick styling: bold cyan.
nick = "%_%C$*%n%_";
# Nick-host wrapped in dark-grey square brackets (picked up by "replaces").
nickhost = "[%z4a90e2$*%n]";
# Server names: bright blue.
server = "%_%B$*%n%_";
# Generic bracketed comment: fade to dark grey.
comment = "[%z4a90e2$*%n]";
reason = "{comment $*}";
mode = "{comment $*}";
##
## channel-specific messages (joins, parts, quits, etc.)
##
# Someone new showing up (join) — bright green.
channick_hilight = "%_%G$*%n%_";
chanhost_hilight = "{nickhost %g$*%n}";
# Someone leaving (part/quit) — dim red.
channick = "%r$*%n";
chanhost = "{nickhost %z4a90e2$*%n}";
# Highlighted channel reference — bright magenta.
channelhilight = "%_%M$*%n%_";
# Ban / invite masks — dim red.
ban = "%r$*%n";
##
## messages
##
# 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 = "%z4a90e2<%n$0$1-%z4a90e2>%n %|%z4a90e2";
# Messages from you.
ownmsgnick = "{msgnick $0 $1-}";
ownnick = "%_%M$*%n%_";
# Normal public messages — nick gets a bright cyan.
pubmsgnick = "{msgnick $0 $1-}";
pubnick = "%_%C$*%n%_";
# Messages addressed to you (@you) — bright yellow nick to catch the eye.
pubmsgmenick = "{msgnick $0 $1-}";
menick = "%_%Y$*%n%_";
# Hilighted message (keyword triggered).
pubmsghinick = "{msgnick $1 $0$2-%n}";
# channel prefix on a message: ":#chan" in bright magenta.
msgchannel = "%z4a90e2:%M$*%n";
# Private messages — heavy bright-magenta framing so queries stand apart.
privmsg = "[%_%M$0%_%z4a90e2(%m$1-%z4a90e2)%n] ";
ownprivmsg = "[%_%m$0%_%z4a90e2(%M$1-%z4a90e2)%n] ";
# Private message in a query window.
ownprivmsgnick = "{msgnick $*}";
ownprivnick = "%_%M$*%n%_";
privmsgnick = "{msgnick %_%M$*%n%_}";
##
## Actions (/me)
##
# Bright yellow asterisks so actions are unmistakable. Action text in dim
# grey to match ordinary message bodies.
action_core = "%_%Y * %n%z4a90e2$*%n";
action = "{action_core $*} ";
ownaction = "{action $*}";
ownaction_target = "{action_core $0}%z4a90e2:%M$1%n ";
# Private actions get a parenthesized asterisk; keep it in bright yellow.
pvtaction = "%_%Y (*) %n%z4a90e2$*%n ";
pvtaction_query = "{action $*}";
pubaction = "{action $*}";
##
## other IRC events
##
# whois — cyan field name, dim-grey value
whois = "%z4a90e2 %# $[8]0 : %n%z4a90e2$1-%n";
# notices — magenta stays the "alert" color
ownnotice = "[%_%m$0%_%z4a90e2(%M$1-%z4a90e2)]%n ";
notice = "%z4a90e2-%_%M$*%_%z4a90e2-%n ";
pubnotice_channel = "%z4a90e2:%m$*";
pvtnotice_host = "%z4a90e2(%m$*%z4a90e2)";
# server notices — bright green bang, dim-grey body
servernotice = "%_%G!%n%z4a90e2$*%n ";
# CTCPs — bright green
ownctcp = "[%_%g$0%_%z4a90e2(%G$1-%z4a90e2)] ";
ctcp = "%_%G$*%n%_";
# wallops
wallop = "%_%Y$*%n%_: ";
wallop_nick = "%z4a90e2$*%n";
wallop_action = "%_%Y * %n%z4a90e2$*%n ";
# netsplits / netjoins — red fall, green rise
netsplit = "%_%R$*%n%_";
netjoin = "%_%G$*%n%_";
# /names list — each name gets bright cyan brackets
names_prefix = "";
names_nick = "[%_%C$0%n%_$1-] ";
names_nick_op = "{names_nick $*}";
names_nick_halfop = "{names_nick $*}";
names_nick_voice = "{names_nick $*}";
names_users = "[%g$*%n]";
names_channel = "%_%M$*%n%_";
# DCC — green family so transfers read as "network-y"
dcc = "%_%G$*%n%_";
dccfile = "%_%z4a90e2$*%n%_";
# DCC chat, own msg/action
dccownmsg = "[%_%r$0%_%z4a90e2($1-%z4a90e2)%n] ";
dccownnick = "%_%R$*%n%_";
dccownquerynick = "%_%M$*%n%_";
dccownaction = "{action $*}";
dccownaction_target = "{action_core $0}%z4a90e2:%M$1%n ";
# DCC chat, others
dccmsg = "[%_%G$1-%_%z4a90e2(%g$0%z4a90e2)%n] ";
dccquerynick = "%_%G$*%n%_";
dccaction = "%_%Y (*dcc*) %n%z4a90e2$*%n %|";
##
## statusbar — the rainbow lives here
##
# 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 (middle statusbar) — same explicit black.
sb_info_bg = "%0";
sbstart = "";
sbend = " ";
topicsbstart = "{sbstart $*}";
topicsbend = "{sbend $*}";
prompt = "%_%M[%n$*%_%M]%n%_ ";
sb = " %M[%n$*%M]%n";
sbmode = "(%G+%n$*)";
sbaway = " (%YzZzZ%n)";
sbservertag = ":%C$0%n (^X)";
sbnickmode = "%Y$0%n";
# activity in statusbar — rotates through the rainbow.
sb_act_sep = "%z4a90e2$*";
sb_act_text = "%G$*"; # plain chatter (green)
sb_act_msg = "%_%C$*%_"; # someone said something (cyan)
sb_act_hilight = "%_%M$*%_"; # something for you (magenta)
sb_act_hilight_color = "$0$1-%n";
};
formats = {
# Common channel-event formats get explicitly wrapped in %z4a90e2 (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 = "%z4a90e2-->%n {channick_hilight $0} {chanhost_hilight $1} has joined {channel $2}";
part = "%z4a90e2<--%n {channick $0} {chanhost $1} %z4a90e2has left%n {channel $2} {reason $3}";
quit = "%z4a90e2<--%n {channick $0} {chanhost $1} %z4a90e2has quit%n {reason $2}";
quit_once = "%z4a90e2<--%n {channick $0} {chanhost $1} %z4a90e2has quit%n {channel $2} {reason $3}";
kick = "%z4a90e2<--%n {channick $0} %z4a90e2was kicked from%n {channel $1} %z4a90e2by%n {nick $2} {reason $3}";
nick_changed = "%z4a90e2-!-%n {channick $0} %z4a90e2is now known as%n {channick_hilight $1}";
your_nick_changed = "%z4a90e2-!-%n %z4a90e2You're now known as%n {channick_hilight $1}";
topic = "%z4a90e2-!-%n %z4a90e2Topic for%n {channel $0}%z4a90e2:%n %z4a90e2$1%n";
topic_info = "%z4a90e2-!-%n %z4a90e2Topic set by%n {nick $0} {nickhost $1} %z4a90e2($2)%n";
new_topic = "%z4a90e2-!-%n {nick $0} %z4a90e2changed the topic of%n {channel $1} %z4a90e2to:%n %z4a90e2$2%n";
server_changed = "%z4a90e2-!-%n %z4a90e2Server changed to%n %_$1%_";
chanmode_change = "%z4a90e2-!-%n %z4a90e2mode/%n{channelhilight $0} {mode $1} %z4a90e2by%n {nick $2}";
usermode_change = "%z4a90e2-!-%n %z4a90e2mode/%n{nick $1} {mode $0}";
away = "%z4a90e2-!-%n %z4a90e2zzz: %n$0";
unaway = "%z4a90e2-!-%n %z4a90e2welcome 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";
};
};