Add claude.theme (ports Claude Code's default dark palette)
claude.theme: a dark irssi theme whose colours map 1:1 to the roles Claude Code uses in its default dark UI: #8c8c8c dim timestamps, brackets, connective text #f85149 red errors, netsplits, parts, private msg frames #56d364 green joins, ctcp, dcc, netjoins, quiet activity #e3b341 yellow messages-to-me, /me, statusbar chatter #4a9eff blue channel names, pubnicks, diff-style accents #c9a3ff magenta own nick / prompt / notices / hilights #4ec9b0 cyan whois field names, info lines Uses 24-bit true-colour escapes (%z<rrggbb>) so the shades land exactly regardless of terminal palette. Requires irssi 1.2+ and a truecolour-capable terminal (modern xterm/tmux both are). irssi/config: switch the active theme from rainbow-dark to claude.
This commit is contained in:
215
.irssi/claude.theme
Normal file
215
.irssi/claude.theme
Normal file
@@ -0,0 +1,215 @@
|
||||
# claude.theme — irssi theme that ports the Claude Code default "dark"
|
||||
# palette to IRC.
|
||||
#
|
||||
# Colour role → 24-bit RGB used here:
|
||||
# dim / secondary #8c8c8c timestamps, brackets, connective text
|
||||
# red (destructive) #f85149 errors, netsplits, parts, private msg
|
||||
# green (additive) #56d364 joins, ctcp, dcc, netjoins, quiet activity
|
||||
# yellow (warn) #e3b341 messages-to-me, actions (/me), chatter
|
||||
# blue (info) #4a9eff channel names, pubnick, diff-style accents
|
||||
# magenta (emphasis) #c9a3ff own nick / prompt, notices, hilights
|
||||
# cyan (accent) #4ec9b0 whois field names, info lines
|
||||
#
|
||||
# Activate:
|
||||
# /set theme claude ; /save ; /reload
|
||||
#
|
||||
# Requires irssi 1.2+ and a 24-bit-colour-capable terminal. Format codes:
|
||||
# %z<rrggbb> — 24-bit foreground colour
|
||||
# %Z<rrggbb> — 24-bit background colour
|
||||
|
||||
default_color = "-1";
|
||||
info_eol = "false";
|
||||
|
||||
# Dim all bracket/punctuation glyphs so the palette accents stay the focus.
|
||||
replaces = { "[]=()<>" = "%z8c8c8c$*%n"; };
|
||||
|
||||
abstracts = {
|
||||
##
|
||||
## generic
|
||||
##
|
||||
|
||||
# Subtle dim dash prefix on non-message lines (was "%B-%n!%B-%n ").
|
||||
line_start = "%z8c8c8c-!-%n ";
|
||||
|
||||
# Timestamps in the dim secondary colour.
|
||||
timestamp = "%z8c8c8c$*%n";
|
||||
|
||||
# Highlight = bold + yellow (the "user-directed" Claude Code colour).
|
||||
hilight = "%_%ze3b341$*%n%_";
|
||||
|
||||
# Errors: bold + red (Claude's destructive colour).
|
||||
error = "%_%zf85149$*%n%_";
|
||||
|
||||
# Channel names in link-blue + bold.
|
||||
channel = "%_%z4a9eff$*%n%_";
|
||||
|
||||
# Nicks: default (plain + bold).
|
||||
nick = "%_$*%_";
|
||||
|
||||
# Nick-host in dim brackets.
|
||||
nickhost = "[%z8c8c8c$*%n]";
|
||||
|
||||
# Server names in cyan accent.
|
||||
server = "%_%z4ec9b0$*%n%_";
|
||||
|
||||
# Generic comment: dim grey in brackets.
|
||||
comment = "[%z8c8c8c$*%n]";
|
||||
reason = "{comment $*}";
|
||||
mode = "{comment $*}";
|
||||
|
||||
##
|
||||
## channel-specific messages
|
||||
##
|
||||
|
||||
# Joins → green (additive).
|
||||
channick_hilight = "%z56d364$*%n";
|
||||
chanhost_hilight = "{nickhost %z56d364$*%n}";
|
||||
|
||||
# Parts / quits → red (destructive).
|
||||
channick = "%zf85149$*%n";
|
||||
chanhost = "{nickhost %z8c8c8c$*%n}";
|
||||
|
||||
# Highlighted channel reference → blue.
|
||||
channelhilight = "%z4a9eff$*%n";
|
||||
|
||||
# Ban masks → red.
|
||||
ban = "%zf85149$*%n";
|
||||
|
||||
##
|
||||
## messages
|
||||
##
|
||||
|
||||
# Bracket framing in dim grey; body text falls through to terminal default
|
||||
# (claude-code renders conversation text in #e5e5e5 which is very close to
|
||||
# terminal default on most dark schemes, so no need for a %z wrap here —
|
||||
# that avoids the whitespace-background issue from earlier attempts).
|
||||
msgnick = "%z8c8c8c<%n$0$1-%z8c8c8c>%n %|";
|
||||
|
||||
# Own nick = magenta (Claude's "user/prompt" colour) + bold.
|
||||
ownmsgnick = "{msgnick $0 $1-}";
|
||||
ownnick = "%_%zc9a3ff$*%n%_";
|
||||
|
||||
# Public message nick = blue (info/link colour).
|
||||
pubmsgnick = "{msgnick $0 $1-}";
|
||||
pubnick = "%z4a9eff$*%n";
|
||||
|
||||
# Messages addressed to you → yellow nick (user-directed warn colour).
|
||||
pubmsgmenick = "{msgnick $0 $1-}";
|
||||
menick = "%_%ze3b341$*%n%_";
|
||||
|
||||
# Hilighted message in channel.
|
||||
pubmsghinick = "{msgnick $1 $0$2-%n}";
|
||||
|
||||
# ":#chan" suffix on targeted messages.
|
||||
msgchannel = "%z8c8c8c:%z4a9eff$*%n";
|
||||
|
||||
# Private messages: magenta framing so queries stand apart from public.
|
||||
privmsg = "[%_%zc9a3ff$0%_%z8c8c8c(%zc9a3ff$1-%z8c8c8c)%n] ";
|
||||
ownprivmsg = "[%_%zc9a3ff$0%_%z8c8c8c(%zc9a3ff$1-%z8c8c8c)%n] ";
|
||||
|
||||
# Private message within a query window.
|
||||
ownprivmsgnick = "{msgnick $*}";
|
||||
ownprivnick = "%_%zc9a3ff$*%n%_";
|
||||
privmsgnick = "{msgnick %_%zc9a3ff$*%n%_}";
|
||||
|
||||
##
|
||||
## Actions (/ME)
|
||||
##
|
||||
|
||||
# Bold yellow asterisk — actions read as "warning"-ish urgency.
|
||||
action_core = "%_%ze3b341 * %n$*%n";
|
||||
action = "{action_core $*} ";
|
||||
ownaction = "{action $*}";
|
||||
ownaction_target = "{action_core $0}%z8c8c8c:%zc9a3ff$1%n ";
|
||||
|
||||
pvtaction = "%_%ze3b341 (*) %n$*%n ";
|
||||
pvtaction_query = "{action $*}";
|
||||
pubaction = "{action $*}";
|
||||
|
||||
##
|
||||
## other IRC events
|
||||
##
|
||||
|
||||
whois = "%z4ec9b0%# $[8]0 : %n$1-";
|
||||
|
||||
# Notices — magenta (emphasis).
|
||||
ownnotice = "[%_%zc9a3ff$0%_%z8c8c8c(%zc9a3ff$1-%z8c8c8c)]%n ";
|
||||
notice = "%z8c8c8c-%_%zc9a3ff$*%_%z8c8c8c-%n ";
|
||||
pubnotice_channel = "%z8c8c8c:%zc9a3ff$*";
|
||||
pvtnotice_host = "%z8c8c8c(%zc9a3ff$*%z8c8c8c)";
|
||||
|
||||
# Server notices — green bang (informational).
|
||||
servernotice = "%_%z56d364!%n$*%n ";
|
||||
|
||||
# CTCPs — green.
|
||||
ownctcp = "[%_%z56d364$0%_%z8c8c8c(%z56d364$1-%z8c8c8c)] ";
|
||||
ctcp = "%_%z56d364$*%n%_";
|
||||
|
||||
# Wallops — yellow (broadcast alert).
|
||||
wallop = "%_%ze3b341$*%n%_: ";
|
||||
wallop_nick = "%z8c8c8c$*%n";
|
||||
wallop_action = "%_%ze3b341 * %n$*%n ";
|
||||
|
||||
# Netsplits / netjoins — the classic red/green pair.
|
||||
netsplit = "%_%zf85149$*%n%_";
|
||||
netjoin = "%_%z56d364$*%n%_";
|
||||
|
||||
# /names list
|
||||
names_prefix = "";
|
||||
names_nick = "[%_%z4a9eff$0%n%_$1-] ";
|
||||
names_nick_op = "{names_nick $*}";
|
||||
names_nick_halfop = "{names_nick $*}";
|
||||
names_nick_voice = "{names_nick $*}";
|
||||
names_users = "[%z56d364$*%n]";
|
||||
names_channel = "%_%z4a9eff$*%n%_";
|
||||
|
||||
# DCC — green family (network, transfer flavoured).
|
||||
dcc = "%_%z56d364$*%n%_";
|
||||
dccfile = "%_%z4ec9b0$*%n%_";
|
||||
|
||||
# DCC chat, own msg/action
|
||||
dccownmsg = "[%_%zc9a3ff$0%_%z8c8c8c($1-%z8c8c8c)%n] ";
|
||||
dccownnick = "%_%zc9a3ff$*%n%_";
|
||||
dccownquerynick = "%_%zc9a3ff$*%n%_";
|
||||
dccownaction = "{action $*}";
|
||||
dccownaction_target = "{action_core $0}%z8c8c8c:%zc9a3ff$1%n ";
|
||||
|
||||
# DCC chat, others
|
||||
dccmsg = "[%_%z56d364$1-%_%z8c8c8c(%z56d364$0%z8c8c8c)%n] ";
|
||||
dccquerynick = "%_%z56d364$*%n%_";
|
||||
dccaction = "%_%ze3b341 (*dcc*) %n$*%n %|";
|
||||
|
||||
##
|
||||
## statusbar
|
||||
##
|
||||
|
||||
# Explicit black background with light-grey foreground. Rainbow of
|
||||
# accent colours from individual items below.
|
||||
sb_background = "%0%ze5e5e5";
|
||||
sb_prompt_bg = "%n";
|
||||
sb_info_bg = "%0";
|
||||
|
||||
sbstart = "";
|
||||
sbend = " ";
|
||||
topicsbstart = "{sbstart $*}";
|
||||
topicsbend = "{sbend $*}";
|
||||
|
||||
prompt = "%_%zc9a3ff[%n$*%_%zc9a3ff]%n%_ ";
|
||||
sb = " %z4a9eff[%n$*%z4a9eff]%n";
|
||||
sbmode = "(%z56d364+%n$*)";
|
||||
sbaway = " (%ze3b341zZzZ%n)";
|
||||
sbservertag = ":%z4ec9b0$0%n (^X)";
|
||||
sbnickmode = "%zc9a3ff$0%n";
|
||||
|
||||
# Activity indicators — escalate in colour:
|
||||
# dim → green (normal chat) → yellow (message) → red (hilight)
|
||||
sb_act_sep = "%z8c8c8c$*";
|
||||
sb_act_text = "%z56d364$*";
|
||||
sb_act_msg = "%ze3b341$*";
|
||||
sb_act_hilight = "%zf85149$*";
|
||||
sb_act_hilight_color = "$0$1-%n";
|
||||
};
|
||||
|
||||
formats = {
|
||||
"fe-common/core" = { pubmsg = "{pubmsgnick $2 {pubnick \00305$0}}$1"; };
|
||||
};
|
||||
Reference in New Issue
Block a user