Files
nixos/home/.irssi/BitchX.theme
2025-09-13 14:24:40 -04:00

245 lines
7.1 KiB
Plaintext
Raw Blame History

# BitchX theme for Irssi By Mikma
# When testing changes, the easiest way to reload the theme is with /RELOAD.
# This reloads the configuration file too, so if you did any changes remember
# to /SAVE it first. Remember also that /SAVE overwrites the theme file with
# old data so keep backups :)
# TEMPLATES:
# The real text formats that irssi uses are the ones you can find with
# /FORMAT command. Back in the old days all the colors and texts were mixed
# up in those formats, and it was really hard to change the colors since you
# might have had to change them in tens of different places. So, then came
# this templating system.
# Now the /FORMATs don't have any colors in them, and they also have very
# little other styling. Most of the stuff you need to change is in this
# theme file. If you can't change something here, you can always go back
# to change the /FORMATs directly, they're also saved in these .theme files.
# So .. the templates. They're those {blahblah} parts you see all over the
# /FORMATs and here. Their usage is simply {name parameter1 parameter2}.
# When irssi sees this kind of text, it goes to find "name" from abstracts
# block below and sets "parameter1" into $0 and "parameter2" into $1 (you
# can have more parameters of course). Templates can have subtemplates.
# Here's a small example:
# /FORMAT format hello {colorify {underline world}}
# abstracts = { colorify = "%G$0-%n"; underline = "%U$0-%U"; }
# When irssi expands the templates in "format", the final string would be:
# hello %G%Uworld%U%n
# ie. underlined bright green "world" text.
# and why "$0-", why not "$0"? $0 would only mean the first parameter,
# $0- means all the parameters. With {underline hello world} you'd really
# want to underline both of the words, not just the hello (and world would
# actually be removed entirely).
# COLORS:
# You can find definitions for the color format codes in docs/formats.txt.
# There's one difference here though. %n format. Normally it means the
# default color of the terminal (white mostly), but here it means the
# "reset color back to the one it was in higher template". For example
# if there was /FORMAT test %g{foo}bar, and foo = "%Y$0%n", irssi would
# print yellow "foo" (as set with %Y) but "bar" would be green, which was
# set at the beginning before the {foo} template. If there wasn't the %g
# at start, the normal behaviour of %n would occur. If you _really_ want
# to use the terminal's default color, use %N.
#############################################################################
# these characters are automatically replaced with specified color
# (dark grey by default)
replaces = { "[]:()" = "%K$*%n"; };
abstracts = {
##
## generic
##
# text to insert at the beginning of each non-message line
line_start = "%R<>%W<>%R<> %N";
# timestamp styling, nothing by default
timestamp = "[$*]";
# any kind of text that needs hilighting, default is to bold
hilight = "%W$*%n";
# any kind of error message, default is bright red
error = "%r$*%n";
# channel name is printed
channel = "$*";
# nick is printed
nick = "%W$*%n";
# nick host is printed
nickhost = "$*";
# server name is printed
server = "%W$*%n";
# some kind of comment is printed
comment = "[$*]";
# reason for something is printed (part, quit, kick, ..)
reason = "(%n$*)";
# mode change is printed ([+o nick])
mode = "[%W$*%n]";
##
## channel specific messages
##
# highlighted nick/host is printed (joins)
channick_hilight = "%C$0-%n";
chanhost_hilight = "[%c{nickhost $*}%n]";
# nick/host is printed (parts, quits, etc.)
channick = "%C$0-%n";
chanhost = "[%c{nickhost $*}%n]";
# highlighted channel name is printed
channelhilight = "%c$*%n";
# ban/ban exception/invite list mask is printed
ban = "$*";
##
## messages
##
# Extracolors start here
magenta = "%M<%n%W$0%n$1-%M>%n %|";
blue = "%B<%n%W$0%n$1-%B>%n %|";
# Extracolors end here
# the basic styling of how to print message, $0 = nick mode, $1 = nick
msgnick = "{blue $0$1-}";
# message from you is printed. "msgownnick" specifies the styling of the
# nick ($0 part in msgnick) and "ownmsgnick" specifies the styling of the
# whole line.
# Example1: You want the message text to be green:
# ownmsgnick = "{msgnick $0 $1-}%g";
# Example2.1: You want < and > chars to be yellow:
# ownmsgnick = "%Y{msgnick $0 $1-%Y}%n";
# (you'll also have to remove <> from replaces list above)
# Example2.2: But you still want to keep <> grey for other messages:
# pubmsgnick = "%K{msgnick $0 $1-%K}%n";
# pubmsgmenick = "%K{msgnick $0 $1-%K}%n";
# pubmsghinick = "%K{msgnick $1 $0$2-%K}%n";
# ownprivmsgnick = "%K{msgnick $0-%K}%n";
# privmsgnick = "%K{msgnick %R$0-%K}%n";
# $0 = nick mode, $1 = nick
ownmsgnick = "{magenta $0$1-}";
ownnick = "%N$*";
# public message in channel, $0 = nick mode, $1 = nick
pubmsgnick = "{blue $0$1-}";
pubnick = "%N$*";
# public message in channel meant for me, $0 = nick mode, $1 = nick
pubmsgmenick = "{blue $0$1-}";
menick = "%Y$0%n";
# public highlighted message in channel
# $0 = highlight color, $1 = nick mode, $2 = nick
pubmsghinick = "{blue $1$0$2-}";
# channel name is printed with message
msgchannel = ":%W$*%n";
# private message, $0 = nick, $1 = host
privmsg = "[%P$0%n(%p{nickhost $1-}%n)] ";
# private message from you, $0 = "msg", $1 = target nick
ownprivmsg = "[%rmsg%n(%R$1-%n)] ";
# own private message in query
ownprivmsgnick = "{magenta %N$*}";
ownprivnick = "%n$*";
# private message in query
privmsgnick = "{blue %N$*}";
##
## Actions (/ME stuff)
##
# used internally by this theme
action_core = "%K*%n";
# generic one that's used by most actions
action = "{action_core $0-} ";
# own action, both private/public
ownaction = "{action_core } %W$0%n %n$1-";
# own action with target, both private/public
ownaction_target = "{action_core } -> %W$0%n%w/%n%c$1%n ";
# private action sent by others
pvtaction = "{action }%Y$0%n$1- ";
pvtaction_query = "{action }%Y$*%n ";
# public action sent by others
pubaction = "{action }%Y$*%n ";
##
## other IRC events
##
# notices
ownnotice = "[%rnotice%n(%R$1-%n)] ";
notice = "%K-%n%P$0%n%K-%n ";
pubnotice_channel = ":$*";
pvtnotice_host = "(%m$*%n)";
servernotice = "{notice $*}";
# CTCPs
ownctcp = "[%r$0%n(%R$1-%n)] ";
ctcp = "%K>%n>%W>%n $0 %g$1%_%n $2 %g$3%n %g%_$4%n %g$5%n %g%_$6%n%_";
# wallops
wallop = "$*: ";
wallop_nick = "$*";
wallop_action = " * $* ";
# netsplits
netsplit = "$*";
netjoin = "$*";
# /names list
names_nick = "[%W$0%n$1-] ";
names_users = "($*)";
names_channel = "{channel $*}";
# DCC
dcc = "{line_start}%R$0%n %n$1-";
dccfile = "%_$*%_";
# DCC chat, own msg/action
dccownmsg = "[%rdcc%n(%R$1-%n)] ";
dccownnick = "$*";
dccownaction = "{action_core } %W$0%n$1 ";
dccownaction_target = "{action_core $0}%K:%c$1%n ";
# DCC chat, others
dccmsg = "[%G$1-%n(%gdcc%n)] ";
dccquerynick = "$*";
dccaction = "{action_core } %Y$0%n %|";
};
formats = {
"fe-common/core" = {
quit = "Signoff {channick $0}: {channel $3} {reason $2}";
};
};