Earlier pass tried %X17 (256-palette idx 23), but %X isn't the 256-colour code in modern irssi — 1.4+ treats %X as a no-op for unknown sequences, so every intended teal element was silently falling through to the terminal default (= bright white). irssi 1.4.5 supports %Z<rrggbb> for 24-bit foreground colour, so use it directly: %Z005f5f renders as exactly #005f5f (dark teal), no palette guessing.
242 lines
8.2 KiB
Plaintext
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 = { "[]=()<>" = "%Z005f5f$*%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 = "%Z005f5f$*%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 = "[%Z005f5f$*%n]";
|
|
|
|
# Server names: bright blue.
|
|
server = "%_%B$*%n%_";
|
|
|
|
# Generic bracketed comment: fade to dark grey.
|
|
comment = "[%Z005f5f$*%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 %Z005f5f$*%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 = "%Z005f5f<%n$0$1-%Z005f5f>%n %|%Z005f5f";
|
|
|
|
# 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 = "%Z005f5f:%M$*%n";
|
|
|
|
# Private messages — heavy bright-magenta framing so queries stand apart.
|
|
privmsg = "[%_%M$0%_%Z005f5f(%m$1-%Z005f5f)%n] ";
|
|
ownprivmsg = "[%_%m$0%_%Z005f5f(%M$1-%Z005f5f)%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%Z005f5f$*%n";
|
|
action = "{action_core $*} ";
|
|
ownaction = "{action $*}";
|
|
ownaction_target = "{action_core $0}%Z005f5f:%M$1%n ";
|
|
|
|
# Private actions get a parenthesized asterisk; keep it in bright yellow.
|
|
pvtaction = "%_%Y (*) %n%Z005f5f$*%n ";
|
|
pvtaction_query = "{action $*}";
|
|
pubaction = "{action $*}";
|
|
|
|
##
|
|
## other IRC events
|
|
##
|
|
|
|
# whois — cyan field name, dim-grey value
|
|
whois = "%Z005f5f %# $[8]0 : %n%Z005f5f$1-%n";
|
|
|
|
# notices — magenta stays the "alert" color
|
|
ownnotice = "[%_%m$0%_%Z005f5f(%M$1-%Z005f5f)]%n ";
|
|
notice = "%Z005f5f-%_%M$*%_%Z005f5f-%n ";
|
|
pubnotice_channel = "%Z005f5f:%m$*";
|
|
pvtnotice_host = "%Z005f5f(%m$*%Z005f5f)";
|
|
|
|
# server notices — bright green bang, dim-grey body
|
|
servernotice = "%_%G!%n%Z005f5f$*%n ";
|
|
|
|
# CTCPs — bright green
|
|
ownctcp = "[%_%g$0%_%Z005f5f(%G$1-%Z005f5f)] ";
|
|
ctcp = "%_%G$*%n%_";
|
|
|
|
# wallops
|
|
wallop = "%_%Y$*%n%_: ";
|
|
wallop_nick = "%Z005f5f$*%n";
|
|
wallop_action = "%_%Y * %n%Z005f5f$*%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 = "%_%Z005f5f$*%n%_";
|
|
|
|
# DCC chat, own msg/action
|
|
dccownmsg = "[%_%r$0%_%Z005f5f($1-%Z005f5f)%n] ";
|
|
dccownnick = "%_%R$*%n%_";
|
|
dccownquerynick = "%_%M$*%n%_";
|
|
dccownaction = "{action $*}";
|
|
dccownaction_target = "{action_core $0}%Z005f5f:%M$1%n ";
|
|
|
|
# DCC chat, others
|
|
dccmsg = "[%_%G$1-%_%Z005f5f(%g$0%Z005f5f)%n] ";
|
|
dccquerynick = "%_%G$*%n%_";
|
|
dccaction = "%_%Y (*dcc*) %n%Z005f5f$*%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 = "%Z005f5f$*";
|
|
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 %Z005f5f (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 = "%Z005f5f-->%n {channick_hilight $0} {chanhost_hilight $1} has joined {channel $2}";
|
|
part = "%Z005f5f<--%n {channick $0} {chanhost $1} %Z005f5fhas left%n {channel $2} {reason $3}";
|
|
quit = "%Z005f5f<--%n {channick $0} {chanhost $1} %Z005f5fhas quit%n {reason $2}";
|
|
quit_once = "%Z005f5f<--%n {channick $0} {chanhost $1} %Z005f5fhas quit%n {channel $2} {reason $3}";
|
|
kick = "%Z005f5f<--%n {channick $0} %Z005f5fwas kicked from%n {channel $1} %Z005f5fby%n {nick $2} {reason $3}";
|
|
nick_changed = "%Z005f5f-!-%n {channick $0} %Z005f5fis now known as%n {channick_hilight $1}";
|
|
your_nick_changed = "%Z005f5f-!-%n %Z005f5fYou're now known as%n {channick_hilight $1}";
|
|
topic = "%Z005f5f-!-%n %Z005f5fTopic for%n {channel $0}%Z005f5f:%n %Z005f5f$1%n";
|
|
topic_info = "%Z005f5f-!-%n %Z005f5fTopic set by%n {nick $0} {nickhost $1} %Z005f5f($2)%n";
|
|
new_topic = "%Z005f5f-!-%n {nick $0} %Z005f5fchanged the topic of%n {channel $1} %Z005f5fto:%n %Z005f5f$2%n";
|
|
server_changed = "%Z005f5f-!-%n %Z005f5fServer changed to%n %_$1%_";
|
|
chanmode_change = "%Z005f5f-!-%n %Z005f5fmode/%n{channelhilight $0} {mode $1} %Z005f5fby%n {nick $2}";
|
|
usermode_change = "%Z005f5f-!-%n %Z005f5fmode/%n{nick $1} {mode $0}";
|
|
away = "%Z005f5f-!-%n %Z005f5fzzz: %n$0";
|
|
unaway = "%Z005f5f-!-%n %Z005f5fwelcome 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";
|
|
};
|
|
};
|