# 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}"; }; };