diff --git a/.irssi/rainbow-dark.theme b/.irssi/rainbow-dark.theme new file mode 100644 index 00000000..d05b34d9 --- /dev/null +++ b/.irssi/rainbow-dark.theme @@ -0,0 +1,214 @@ +# 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 = { "[]=()<>" = "%K$*%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 = "%c$*%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 = "[%K$*%n]"; + + # Server names: bright blue. + server = "%_%B$*%n%_"; + + # Generic bracketed comment: fade to dark grey. + comment = "[%K$*%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 %K$*%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. + msgnick = "%K<%n$0$1-%K>%n %|"; + + # Messages from you. + ownmsgnick = "{msgnick $0 $1-}"; + ownnick = "%_%W$*%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 = "%K:%M$*%n"; + + # Private messages — heavy bright-magenta framing so queries stand apart. + privmsg = "[%_%M$0%_%K(%m$1-%K)%n] "; + ownprivmsg = "[%_%m$0%_%K(%M$1-%K)%n] "; + + # Private message in a query window. + ownprivmsgnick = "{msgnick $*}"; + ownprivnick = "%_%W$*%n%_"; + privmsgnick = "{msgnick %_%M$*%n%_}"; + + ## + ## Actions (/me) + ## + + # Bright yellow asterisks so actions are unmistakable. + action_core = "%_%Y * %n$*%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$*%n "; + pvtaction_query = "{action $*}"; + pubaction = "{action $*}"; + + ## + ## other IRC events + ## + + # whois + whois = "%c %# $[8]0 : %n$1-"; + + # notices — magenta stays the "alert" color + ownnotice = "[%_%m$0%_%K(%M$1-%K)]%n "; + notice = "%K-%_%M$*%_%K-%n "; + pubnotice_channel = "%K:%m$*"; + pvtnotice_host = "%K(%m$*%K)"; + + # server notices — bright green so they feel "system-ish" + servernotice = "%_%G!%n$*%n "; + + # CTCPs — bright green + ownctcp = "[%_%g$0%_%K(%G$1-%K)] "; + ctcp = "%_%G$*%n%_"; + + # wallops + wallop = "%_%Y$*%n%_: "; + wallop_nick = "%n$*"; + wallop_action = "%_%Y * $*%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 = "%_$*%_"; + + # DCC chat, own msg/action + dccownmsg = "[%_%r$0%_%K($1-%K)%n] "; + dccownnick = "%_%R$*%n%_"; + dccownquerynick = "%_%W$*%n%_"; + dccownaction = "{action $*}"; + dccownaction_target = "{action_core $0}%K:%M$1%n "; + + # DCC chat, others + dccmsg = "[%_%G$1-%_%K(%g$0%K)%n] "; + dccquerynick = "%_%G$*%n%_"; + dccaction = "%_%Y (*dcc*) %n$*%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"; + + # 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"; + + 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 = "%K$*"; + 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 = { + "fe-common/core" = { pubmsg = "{pubmsgnick $2 {pubnick \00305$0}}$1"; }; +};