1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
|
# 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$0-%n"; };
abstracts = {
##
## generic
##
# text to insert at the beginning of each non-message line
line_start = "%B-%W!%B-%n ";
# timestamp styling, nothing by default
timestamp = "$0-";
# any kind of text that needs hilighting, default is to bold
hilight = "%_$0-%_";
# any kind of error message, default is bright red
error = "%R$0-%n";
# channel name is printed
channel = "%_$0-%_";
# nick is printed
nick = "%_$0-%_";
# nick host is printed
nickhost = "[$0-]";
# server name is printed
server = "%_$0-%_";
# some kind of comment is printed
comment = "[$0-]";
# reason for something is printed (part, quit, kick, ..)
reason = "{comment $0-}";
# mode change is printed ([+o nick])
mode = "{comment $0-}";
##
## channel specific messages
##
# highlighted nick/host is printed (joins)
channick_hilight = "%C$0-%n";
chanhost_hilight = "{nickhost %c$0-%n}";
# nick/host is printed (parts, quits, etc.)
channick = "%c$0-%n";
chanhost = "{nickhost $0-}";
# highlighted channel name is printed
channelhilight = "%c$0-%n";
# ban/ban exception/invite list mask is printed
ban = "%c$0-%n";
##
## messages
##
# the basic styling of how to print message, $0 = nick mode, $1 = nick
msgnick = "<$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-%n%K}%n";
# ownprivmsgnick = "%K{msgnick $0-%K}%n";
# privmsgnick = "%K{msgnick %R$0-%K}%n";
# $0 = nick mode, $1 = nick
ownmsgnick = "{msgnick $0 $1-}";
ownnick = "%W$0-%n";
# public message in channel, $0 = nick mode, $1 = nick
pubmsgnick = "{msgnick $0 $1-}";
pubnick = "%N$0-%n";
# public message in channel meant for me, $0 = nick mode, $1 = nick
pubmsgmenick = "{msgnick $0 $1-}";
menick = "%Y$0-%n";
# public highlighted message in channel
# $0 = highlight color, $1 = nick mode, $2 = nick
pubmsghinick = "{msgnick $1 $0$2-%n}";
# channel name is printed with message
msgchannel = "%K:%c$0-%n";
# private message, $0 = nick, $1 = host
privmsg = "[%R$0%K(%r$1-%K)%n] ";
# private message from you, $0 = "msg", $1 = target nick
ownprivmsg = "[%r$0%K(%R$1-%K)%n] ";
# own private message in query
ownprivmsgnick = "{msgnick $0-}";
ownprivnick = "%W$0-%n";
# private message in query
privmsgnick = "{msgnick %R$0-%n}";
##
## Actions (/ME stuff)
##
# used internally by this theme
action_core = "%W * $0-%n";
# generic one that's used by most actions
action = "{action_core $0-} ";
# own action, both private/public
ownaction = "{action $0-}";
# own action with target, both private/public
ownaction_target = "{action_core $0}%K:%c$1%n ";
# private action sent by others
pvtaction = "%W (*) $0-%n ";
pvtaction_query = "{action $0-}";
# public action sent by others
pubaction = "{action $0-}";
##
## other IRC events
##
# notices
ownnotice = "[%r$0%K(%R$1-%K)]%n ";
notice = "%K-%M$0-%K-%n ";
pubnotice_channel = "%K:%m$0-";
pvtnotice_host = "%K(%m$0-%K)";
servernotice = "%g!$0-%n ";
# CTCPs
ownctcp = "[%r$0%K(%R$1-%K)] ";
ctcp = "%g$0-%n";
# wallops
wallop = "%W$0-%n: ";
wallop_nick = "%n$0-";
wallop_action = "%W * $0-%n ";
# netsplits
netsplit = "%R$0-%n";
netjoin = "%C$0-%n";
# /names list
names_nick = "[%_$0%_$1-] ";
names_users = "[%g$0-%n]";
names_channel = "%G$0-%n";
# DCC
dcc = "%g$0-%n";
dccfile = "%_$0-%_";
# DCC chat, own msg/action
dccownmsg = "[%r$0%K($1-%K)%n] ";
dccownnick = "%R$0-%n";
dccownaction = "{action $0-}";
dccownaction_target = "{action_core $0}%K:%c$1%n ";
# DCC chat, others
dccmsg = "[%G$1-%K(%g$0%K)%n] ";
dccquerynick = "%G$0-%n";
dccaction = "%W (*dcc*) $0-%n %|";
##
## statusbar
##
# background of statusbar
sb_background = "%4";
# default statusbar item style
sb = "%c[%n$0-%c]%n";
sbmode = "(%c+%n$0-)";
sbaway = " (%GzZzZ%n)";
sbservertag = ":$0 (change with ^X)";
sbmore = "%_-- more --%_";
sblag = "{sb Lag: $0-}";
sbmail = "{sb Mail: $0-}";
# activity. Det is used for hilights when display doesn't support colors
sbact = "{sb {sbact_act $0}{sbact_det $1}}";
sbact_act = "Act: $0-";
sbact_det = " Det: $0-";
};
|