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