1# This irssi-theme is made by Ville Myllymäki.
2#
3# Best whitegrounded irssi-theme available ;)
4#
5# If you happen to use this, I'd be happy to receive email :)
6# Contact: <ville.myllymaki@iki.fi>
7
8# In irssi, set these in order to get hilights in yellow:
9#
10# hilight_nick_matches = OFF
11# hilight_color = %B%3
12#
13# Also, add your own nick into hilight list. (odd bug in irssi)
14#
15# See also my blackgrounded irssitheme evolution.theme!
16
17# **************************************
18
19# When testing changes, the easiest way to reload the theme is with /RELOAD.
20# This reloads the configuration file too, so if you did any changes remember
21# to /SAVE it first. Remember also that /SAVE overwrites the theme file with
22# old data so keep backups :)
23
24# TEMPLATES:
25
26# The real text formats that irssi uses are the ones you can find with
27# /FORMAT command. Back in the old days all the colors and texts were mixed
28# up in those formats, and it was really hard to change the colors since you
29# might have had to change them in tens of different places. So, then came
30# this templating system.
31
32# Now the /FORMATs don't have any colors in them, and they also have very
33# little other styling. Most of the stuff you need to change is in this
34# theme file. If you can't change something here, you can always go back
35# to change the /FORMATs directly, they're also saved in these .theme files.
36
37# So .. the templates. They're those {blahblah} parts you see all over the
38# /FORMATs and here. Their usage is simply {name parameter1 parameter2}.
39# When irssi sees this kind of text, it goes to find "name" from abstracts
40# block below and sets "parameter1" into $0 and "parameter2" into $1 (you
41# can have more parameters of course). Templates can have subtemplates.
42# Here's a small example:
43#   /FORMAT format hello {colorify {underline world}}
44#   abstracts = { colorify = "%G$0-%n"; underline = "%U$0-%U"; }
45# When irssi expands the templates in "format", the final string would be:
46#   hello %G%Uworld%U%n
47# ie. underlined bright green "world" text.
48# and why "$0-", why not "$0"? $0 would only mean the first parameter,
49# $0- means all the parameters. With {underline hello world} you'd really
50# want to underline both of the words, not just the hello (and world would
51# actually be removed entirely).
52
53# COLORS:
54
55# You can find definitions for the color format codes in docs/formats.txt.
56
57# There's one difference here though. %n format. Normally it means the
58# default color of the terminal (white mostly), but here it means the
59# "reset color back to the one it was in higher template". For example
60# if there was /FORMAT test %g{foo}bar, and foo = "%Y$0%n", irssi would
61# print yellow "foo" (as set with %Y) but "bar" would be green, which was
62# set at the beginning before the {foo} template. If there wasn't the %g
63# at start, the normal behaviour of %n would occur. If you _really_ want
64# to use the terminal's default color, use %N.
65
66#############################################################################
67
68# default foreground color (%N) - -1 is the "default terminal color"
69default_color = "-1";
70
71# print timestamp/servertag at the end of line, not at beginning
72info_eol = "false";
73
74# these characters are automatically replaced with specified color
75# (dark grey by default)
76replaces = { "[]=" = "%B$*%n"; };
77
78abstracts = {
79  ##
80  ## generic
81  ##
82
83  # text to insert at the beginning of each non-message line
84  line_start = "%B-%M!%B-%n ";
85
86  # timestamp styling, nothing by default
87  timestamp = "%B(%m$*%B)%n";
88
89  # any kind of text that needs hilighting, default is to bold
90  hilight = "%_$*%_";
91
92  # any kind of error message, default is bright red
93  error = "%R$*%n";
94
95  # channel name is printed
96  channel = "$*";
97
98  # nick is printed
99  nick = "%M$*%n";
100
101  # nick host is printed
102  nickhost = "[$*]";
103
104  # server name is printed
105  server = "%B$*%B";
106
107  # some kind of comment is printed
108  comment = "[%b$*]";
109
110  # reason for something is printed (part, quit, kick, ..)
111  reason = "{comment $*}";
112
113  # mode change is printed ([+o nick])
114  mode = "{comment $*}";
115
116  ##
117  ## channel specific messages
118  ##
119
120  # highlighted nick/host is printed (joins)
121  channick_hilight = "%M$*%m";
122  chanhost_hilight = "{nickhost $*}";
123
124  # nick/host is printed (parts, quits, etc.)
125  channick = "%m$*%m";
126  chanhost = "{nickhost $*}";
127
128  # highlighted channel name is printed
129  channelhilight = "%M$*%n";
130
131  # ban/ban exception/invite list mask is printed
132  ban = "%m$*%n";
133
134  ##
135  ## messages
136  ##
137
138  # the basic styling of how to print message, $0 = nick mode, $1 = nick
139  msgnick = "%B<%n$0$1-%B>%n %|";
140
141  # message from you is printed. "msgownnick" specifies the styling of the
142  # nick ($0 part in msgnick) and "ownmsgnick" specifies the styling of the
143  # whole line.
144
145  # Example1: You want the message text to be green:
146  #  ownmsgnick = "{msgnick $0 $1-}%g";
147  # Example2.1: You want < and > chars to be yellow:
148  #  ownmsgnick = "%Y{msgnick $0 $1-%Y}%n";
149  #  (you'll also have to remove <> from replaces list above)
150  # Example2.2: But you still want to keep <> grey for other messages:
151  #  pubmsgnick = "%K{msgnick $0 $1-%K}%n";
152  #  pubmsgmenick = "%K{msgnick $0 $1-%K}%n";
153  #  pubmsghinick = "%K{msgnick $1 $0$2-%n%K}%n";
154  #  ownprivmsgnick = "%K{msgnick  $*%K}%n";
155  #  privmsgnick = "%K{msgnick  %R$*%K}%n";
156
157  # $0 = nick mode, $1 = nick
158  ownmsgnick = "{msgnick $0 $1-}%n";
159  ownnick = "%G$*%g";
160
161  # public message in channel, $0 = nick mode, $1 = nick
162  pubmsgnick = "{msgnick $0 $1-}";
163  pubnick = "%R$*%n";
164
165  # public message in channel meant for me, $0 = nick mode, $1 = nick
166  pubmsgmenick = "{msgnick $0 $1-}";
167  menick = "%Y$*%n";
168
169  # public highlighted message in channel
170  # $0 = highlight color, $1 = nick mode, $2 = nick
171  pubmsghinick = "{msgnick $1$0$2}%b%3";
172
173  # channel name is printed with message
174  msgchannel = "%K:%c$*%n";
175
176  # private message, $0 = nick, $1 = host
177  privmsg = "[%M$0%K(%m$1-%K)%n] ";
178
179  # private message from you, $0 = "msg", $1 = target nick
180  ownprivmsg = "[%m$0%K(%M$1-%K)%g] ";
181
182  # own private message in query
183  ownprivmsgnick = "{msgnick  %g$0-}";
184  ownprivnick = "%G$*";
185
186  # private message in query
187  privmsgnick = "{msgnick  %R$*%n}";
188
189  ##
190  ## Actions (/ME stuff)
191  ##
192
193  # used internally by this theme
194  action_core = "%B*** %M$*";
195
196  # generic one that's used by most actions
197  action = "{action_core $*} ";
198
199  # own action, both private/public
200  ownaction = "{action %G$0%n$1-}";
201
202  # own action with target, both private/public
203  ownaction_target = "{action_core $0}%K:%c$1%n ";
204
205  # private action sent by others
206  pvtaction = "%W (*) $*%n ";
207  pvtaction_query = "{action $*}";
208
209  # public action sent by others
210  pubaction = "{action %M$0%m$1-}";
211
212
213  ##
214  ## other IRC events
215  ##
216
217  # whois
218  whois = "%m $[8]0 %B: %n$1-";
219
220  # notices
221  ownnotice = "[%m$0%B(%M$1-%B)]%n ";
222  notice = "%K-%M$*%K-%n ";
223  pubnotice_channel = "%K:%m$*";
224  pvtnotice_host = "%K(%m$*%K)";
225  servernotice = "%g!$*%n ";
226
227  # CTCPs
228  ownctcp = "[%m$0%K(%M$1-%K)] ";
229  ctcp = "%m$0%n$1-";
230
231  # wallops
232  wallop = "%W$*%n: ";
233  wallop_nick = "%n$*";
234  wallop_action = "%W * $*%n ";
235
236  # netsplits
237  netsplit = "%R$*%n";
238  netjoin = "%C$*%n";
239
240  # /names list
241  names_prefix = "";
242  names_nick = "[%G$0%_$1-] ";
243  names_nick_op = "{names_nick %r$*}";
244  names_nick_halfop = "{names_nick $*}";
245  names_nick_voice = "{names_nick $*}";
246  names_users = "[%g$*%n]";
247  names_channel = "%G$*%n";
248
249  # DCC
250  dcc = "%g$*%n";
251  dccfile = "%_$*%_";
252
253  # DCC chat, own msg/action
254  dccownmsg = "[%r$0%K($1-%K)%n] ";
255  dccownnick = "%R$*%n";
256  dccownquerynick = "%W$*%n";
257  dccownaction = "{action $*}";
258  dccownaction_target = "{action_core $0}%K:%c$1%n ";
259
260  # DCC chat, others
261  dccmsg = "[%G$1-%K(%g$0%K)%n] ";
262  dccquerynick = "%G$*%n";
263  dccaction = "%W (*dcc*) $*%n %|";
264
265  ##
266  ## statusbar
267  ##
268
269  # default background for all statusbars. You can also give
270  # the default foreground color for statusbar items.
271  sb_background = "%4%w";
272
273  # default backround for "default" statusbar group
274  #sb_default_bg = "%4";
275  # background for prompt / input line
276  sb_prompt_bg = "%w";
277  # background for info statusbar
278  sb_info_bg = "%8";
279  # background for topicbar (same default)
280  sb_topic_bg = "%3%b";
281
282  # text at the beginning of statusbars. sb-item already puts
283  # space there,so we don't use anything by default.
284  sbstart = "";
285  # text at the end of statusbars. Use space so that it's never
286  # used for anything.
287  sbend = " ";
288
289  topicsbstart = "{sbstart $*}";
290  topicsbend = "{sbend $*}";
291  sbmore = "%W[ %Gmore %W]";
292  #this to config -file->  more   = "--|more|--";
293  prompt = "%3%b[$*]%n ";
294
295  sb = " %c[%n$*%c]%n";
296  sbmode = "(%c+%n$*)";
297  sbaway = " (%3%BzZzZ%n)";
298  sbservertag = ":$0 (change with ^X)";
299  # activity in statusbar
300
301  # ',' separator
302  sb_act_sep = "%c$*";
303  # normal text
304  sb_act_text = "%c$*";
305  # public message
306  sb_act_msg = "%W$*";
307  # hilight
308  sb_act_hilight = "%M$*";
309  # hilight with specified color, $0 = color, $1 = text
310  sb_act_hilight_color = "$0$1%n";
311};
312
313formats = {
314  "fe-common/core" = {
315    own_msg = "{ownmsgnick $2 {ownnick $[-9]0}}$1";
316    own_msg_channel = "{ownmsgnick $3 {ownnick $[-9]0}{msgchannel $1}}$2";
317    pubmsg_me = "{pubmsgmenick $2 {menick $[-9]0}}$1";
318    pubmsg_me_channel = "{pubmsgmenick $3 {menick $[-9]0}{msgchannel $1}}$2";
319    pubmsg_hilight = "{pubmsghinick $0 $3 $[-9]1}$2";
320    pubmsg_hilight_channel = "{pubmsghinick $0 $4 $[-9]1{msgchannel $2}}$3";
321    pubmsg = "{pubmsgnick $2 {pubnick $[-9]0}}$1";
322    pubmsg_channel = "{pubmsgnick $3 {pubnick $[-9]0}{msgchannel $1}}$2";
323  };
324};
325