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
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
|
# vim: set expandtab:
# vim: filetype=perl
# (Adapted from solarized-universal theme by Huy Z: https://github.com/huyz/irssi-colors-solarized)
# Adaped by: Paul Saunders
# later adapted by: Farzad Sadeghi https://github.com/terminaldweller
# 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.
#############################################################################
# https://irssi.org/documentation/settings/#a_d
# default foreground color (%N) - -1 is the "default terminal color"
default_color = "-1";
# print timestamp/servertag at the end of line, not at beginning
info_eol = "false";
# these characters are automatically replaced with specified color
# (dark grey by default)
replaces = { "[]=" = "$*"; };
abstracts = {
##
## generic
##
# text to insert at the beginning of each non-message line
# %N = terminal default (e.g. white on transparent)
# %G = brightgreen (Solarized: base01, i.e. darkest gray)
#line_start = "%N%W %N";
line_start = "%N";
# timestamp styling, nothing by default
# %N%8 = reverse normal (to match line_start)
timestamp = "%N%k%z005f87$*%N%Z005f87%n";
# any kind of text that needs hilighting, default is to bold
hilight = "$*";
# any kind of error message
error = "%Zff8700$*%n";
# channel name is printed
channel = "%Z00af00$*%n";
# nick is printed
nick = "%z005f87%Zeeeeee{nickcolor $*}";
mynick = "%Zeeeeee{nickcolor $*}";
inick = "%Zeeeeee{nickcolor $*}";
# Inverted
imynick = "%Zeeeeee{nickcolor $*}";
# Inverted
# nick host is printed
# (that's the "email" address of a user)
nickhost = "%Z005f5f$*";
# server name is printed
server = "%Z00af00$*";
iserver = "%Zeeeeee%z00af00$*%n";
# some kind of comment is printed
comment = "%Zff8700 %N $*";
# reason for something is printed (part, quit, kick, ..)
reason = "$*";
# mode change is printed ([+o nick])
mode = "%N%0%p$*%n";
##
## channel specific messages
##
# highlighted nick/host is printed (joins)
# %c = cyan (Solarized: cyan)
# %G = brightgreen (Solarized: base01)
# NOTE: %n doesn't work in irssi v0.8.15 for some reason. So we have to end with the same color as line_start
channick_hilight = "%Z00af00$*%G";
chanhost_hilight = "%Z00af00{nickhost $*}%N";
# nick/host is printed (parts, quits, etc.)
channick = "%Z00af00$*%G";
chanhost = "%Z00af5f{nickhost $*}%N";
# highlighted channel name is printed
# SOLARIZED: Channels are Green
channelhilight = "%N%0%g$*%N";
ichannelhilight = "%z005f87$*%n%0";
# ban/ban exception/invite list mask is printed
# %R = brightred (Solarized: orange)
# %n = return
ban = "%zff5f00$*%0%Zff5f00%n";
##
## messages
##
# the basic styling of how to print message, $0 = nick mode, $1 = nick
msgnick = "%z005f87%Zeeeeee $0%Zeeeeee{nick $1-} %Z005f5f";
# 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 $*%K}%n";
# privmsgnick = "%K{msgnick %R$*%K}%n";
# $0 = nick mode, $1 = nick
# %3 = yellow
ownmsgnick = "%z5f5fff%k{%z5f5fff $0$1-}%N%0%Z5f5fff %Z005f5f";
ownnick = "%Zeeeeee$* %Z005f5f";
# public message in channel, $0 = nick mode, $1 = nick
pubmsgnick = "%z005f87%k%Zeeeeee{%Zeeeeee%z005f87msgnick $0$1-}%N%Z005f87 %Z005f5f";
pubnick = "%Zeeeeee$* %Z005f5f";
# public message in channel meant for me, $0 = nick mode, $1 = nick
# %5 = magenta
pubmsgmenick = "%K%m%5%k%Z0087ff{msgnick $0$1-}%N%m %Z005f5f";
menick = "%Zeeeeee$* %Z005f5f";
# public highlighted message in channel
# $0 = highlight color, $1 = nick mode, $2 = nick
pubmsghinick = " %z005f87%k%z005f87{%Zeeeeee%z005f87msgnick $1 %Zeeeeee$2-}%N%Z005f87 %Z005f5f";
# channel name is printed with message
# This is printed whenever the channel name is printed for disambiguation, e.g.
# while there is a query in the same window. Example: <+funnyuser:#test> hello
msgchannel = "%z005f5f%k:$*%n";
# private message, $0 = nick, $1 = host
# TODO: To test for Solarized
privmsg = " %m$0%G<%n$1-%G>%n ";
# private message from you, $0 = "msg", $1 = target nick
# TODO: To test for Solarized
ownprivmsg = " %Z005f87$0%G<%Z005f87$1-%G>%n ";
# own private message in query
ownprivmsgnick = "%z5f5fff%k{%z5f5fff $*}%N%Z5f5fff %C";
ownprivnick = "%k$*";
# private message in query
# NOTE: for some reason, we gotta handle both the nick & msg on in this line
privmsgnick = "%5%k{msgnick $*}%N%m %n";
##
## Actions (/ME stuff)
##
# used internally by this theme
action_core = "%N%k %n$*";
# generic one that's used by most actions
action = "{action_core $*%n} ";
# own action, both private/public
ownaction = "%N%k {mynick $0}%N%C $1-";
# own action with target, both private/public
# NOTE: to test: /action NICK farted. (This will tell NICK that you farted)
# This is like a /me but only you and NICK will see
ownaction_target = "{action_core $0}%G:%y$1%n ";
# private action sent by others
# %M = brightmagenta (Solarized: violet)
pvtaction = "%m (*) $*%n ";
pvtaction_query = "{action $*}";
# public action sent by others
pubaction = "%N%k {nick $0}%N $1-";
##
## other IRC events
##
# whois
whois = "%k%z005f87WHOIS %0%Z005f87%N%#%N $[8]0 %Y$1-";
# notices
ownnotice = "%z8787ff%k %k$0 %k%z8787ff%8%0 {ichannelhilight $1-} %k%z00af5f%N ";
notice = "%z5f5fd7%k %k$0- %Z5f5fd7%0%N ";
#notice = "%1%w %W$* %k%8%n ";
pubnotice_channel = "{ichannelhighlight $*}";
#pubnotice_channel = "%G%n$*";
pvtnotice_host = " %k%n {hickhost $*}";
servernotice = "%z8787ff%k %k!$* %k%8%n ";
# CTCPs
ownctcp = "%k%z005f87 %k$0%G %N%Z005f87 %Z005f87$1-%G ";
ctcp = "%N%k%n %Zeeeeee$*%n";
# wallops
wallop = "%c$*%n: ";
wallop_nick = "%n$*";
wallop_action = "%c * $*%n ";
# netsplits
netsplit = "%z5f5fd7$*%n";
netjoin = "%g$*%n";
# /names list
names_prefix = "%N%k%n";
names_nick = " %G$0$1-%N ";
names_nick_op = " %g$0$_$1-%n ";
names_nick_halfop = " %Y$_$0$_$1-%n ";
names_nick_voice = " %C$_$0$_$1-%n ";
names_users = "%k%z005f87 $* %Z005f87%0%n";
names_channel = " %k$*";
# DCC
dcc = "%N%k%n %g$*%n";
dccfile = "$*";
# DCC chat, own msg/action
dccownmsg = "[%Z005f87$0%G($1-%G)%n] ";
dccownnick = "%Z005f87$*%n";
dccownquerynick = "%c$*%n";
dccownaction = "{action $*}";
dccownaction_target = "{action_core $0}%G:%c$1%n ";
# DCC chat, others
dccmsg = " %g$1-%G($0%G)%n ";
dccquerynick = "%g$*%n";
dccaction = "%c (*dcc*) $*%n %|";
##
## statusbar
##
# default background for all statusbars. You can also give
# the default foreground color for statusbar items.
# NOTE: if all the other overriding settings below are set, this only seems to affect
# the content parts of the adv_windowlist. Default seems to be blue
# NOTE: if not set, the default background seems to be %w%4 = white on blue
sb_background = "%k%z1c1c1c";
# default backround for "default" statusbar group
# NOTE: this impacts the statusbar of an inactive window and the edges of adv_windowlist
# %7 = white (wich looks gray on a regular terminal with white bg)
sb_default_bg = "%Z005fff";
# background for topicbar at the top (defaults to sb_default_bg)
sb_topic_bg = "%W%0";
# background for the statusbar of active window. You can also give
# the foreground color.
# %2 = green
sb_window_bg = "%k%0";
# background for prompt / input line
sb_prompt_bg = "%k";
# background for info statusbar
# %8 = reverse window
# TODO: To test for Solarized
sb_info_bg = "%z1c1c1c";
# text at the beginning of statusbars. sb-item already puts
# space there,so we don't use anything by default.
sbstart = "%z005f00";
# text at the end of statusbars. Use space so that it's never
# used for anything.
sbend = "%n";
topicsbstart = "{sbstart $*}";
topicsbend = "{sbend $*}";
prompt = "%k%z005f87%9$c $*%w%k$R%w%k$S%w%k$N%w%k$T %N%Z005f87%n ";
# This controls each part of a statusbar, including the outer brackets of adv_windowlist
sb = "$*";
# The mode is next to your NICK and the channel
sbmode = "%p$*%k";
sbaway = "%Z00af00%k%z00af00 zZzZzZzZ %Z00af00%0";
sbservertag = "%Z00af00 $0 %Z005f87(change with ^X)%n";
sbnickmode = "%Zeeeeee$0";
# activity in statusbar
# ',' separator between the window numbers
# %g = green (same color as the active statusbar so we dont' see it)
sb_act_sep = "%Z005fff+";
# normal text
# This also affects the color of the window with activity in adv_windowlist
sb_act_text = "%C$*";
# public message (ordinary messages)
sb_act_msg = "%c$*";
# hilight (when people actually chat)
# This also affects the color of the window with direct message in adv_windowlist
sb_act_hilight = "%m$*";
# hilight with specified color, $0 = color, $1 = text
sb_act_hilight_color = "%z5f5fd7$1-";
# For usercount.pl script
sb_usercount = "%Z000000%z005faf%Z000000%z005faf{sb $0 nicks %Zeeeeee %Z000000$1-%Z005faf%z000000}";
sb_uc_ircops = "%Z000000%z005faf*$*";
sb_uc_ops = "%Z000000%z005faf@$*";
sb_uc_halfops = "%Z000000%z005faf%%$*";
sb_uc_voices = "%Z000000%z005faf+$*";
sb_uc_normal = "$*";
sb_uc_space = " ";
# For adv_windowlist.pl script
# Mentioned in adv_windowlist but not default_theme
sb_act_none = "$*";
# for dcc stats
# $0 = sb_ds_short(_waiting)/sb_ds_normal(_waiting)
sb_dccstat = "{sb $0-}";
# $0 = G/S
# $1 = filename
# $2 = transfer speed
# $3 = percent
# $4 = progressbar
sb_ds_short = "$0%G:%n$1%Y@%n$2kB/s%G:%n$4%G:%n$3";
# $0 = G/S
# $1 = filename
# $2 = to/from
# $3 = nick
sb_ds_short_waiting = "$0%G:%n$1 $2 $3 waiting";
# $0 = GET/SEND
# $1 = nick
# $2 = filename
# $3 = transferred amount
# $4 = full filesize
# $5 = percent
# $6 = speed
# $7 = ETA
# $8 = progressbar
# $9 = rotator thingy :)
sb_ds_normal = "$0 $1: '$2' $3 of $4 [$8] $9 ($5) $6kB/s ETA: $7";
# $0 = GET/SEND
# $1 = nick
# $2 = filename
# $3 = full filesize
# $4 = to/from
# $5 = nick
sb_ds_normal_waiting = "$0 $1: '$2' $3 $4 $5 waiting";
sb_ds_separator = ", ";
};
formats = {
"fe-common/core" = {
daychange = " %g-----%k-%W-%n Day changed to %%D %W-%k-%g-----%n";
join = "%k%z00af5fJOIN %8 {ichannelhilight $2} %0%Z00d700%0 {inick $0}%0 %N%8%n%k%N {chanhost_hilight $1}";
line_start_irssi = "%k%z5f5fd7IRSSI%N%Z5f5fd7 %N";
new_topic = "%k%z00d700TOPIC %8 {ichannelhilight $1} by {inick $0}%8 $2";
nick_changed = "%k%z00d700RENAME %Z00d700%0 {nick $0} %Zff8700 {nick $1} %N%8%n%k%N";
part = "%K%Z00d700%k%z00d700PART %8 {ichannelhilight $2}%N %0%Z005f87 %N{inick $0}%0 %k%Zeeeeee {reason $3}";
quit = "%0%Z005f00%k%z005f00QUIT %N {inick $0}%0 %Zeeeeee %N%n%k%N {reason $2}";
your_nick_changed = "%k%z00d700RENAME %Z00d700%0 {mynick $0} %Zff8700 {mynick $1} %N%8%n%k%N";
own_msg = "{ownmsgnick $nickalign$2 {ownnick $nickcolor$0$nicktrunc}}$1";
own_msg_channel = "{ownmsgnick $nickalign$3 {ownnick $nickcolor$0$nicktrunc}{msgchannel $1}}$2";
own_msg_private_query = "{ownprivmsgnick $nickalign{ownprivnick $nickcolor$2$nicktrunc}}$1";
pubmsg_me = "{pubmsgmenick $nickalign$2 {menick $0$nicktrunc}}$1";
pubmsg_me_channel = "{pubmsgmenick $nickalign$3 {menick $0$nicktrunc}{msgchannel $1}}$2";
pubmsg_hilight = "{pubmsghinick $0 $nickalign$3 $1$nicktrunc}$2";
pubmsg_hilight_channel = "{pubmsghinick $0 $nickalign$4 $1$nicktrunc{msgchannel $2}}$3";
pubmsg = "{pubmsgnick $nickalign$2 {pubnick $nickcolor$0$nicktrunc}}$1";
pubmsg_channel = "{pubmsgnick $nickalign$3 {pubnick $nickcolor$0$nicktrunc}{msgchannel $1}}$2";
msg_private_query = "{privmsgnick $nickalign$nickcolor$0$nicktrunc}$2";
};
"fe-common/irc" = {
away = "%k%z00d700AWAY %Z00d700%0%N";
banlist = "%k%z005f00BANS %z005f00 $[-3]0 %8 %z005f00{ichannelhilight $1} %k%N {ban $2}";
banlist_long = "%k%z005f00BANS %z005f00 $[-3]0 %8 %z005f00{ichannelhilight $1} {comment by {inick $3}%0%k,%Z005f00 $4 secs ago} %N {ban $2}";
chanmode_change = "%k%z008700MODE %N%Z008700%N {channelhilight $0} %Zeeeeee%n {mode $1}%n by {nick $2}";
channel_created = "%k%N Channel {channelhilight $0} created $1";
channel_mode = "%k%N mode/{channelhilight $0} {mode $1}";
ctcp_default_reply = "%W%0%N $0- ";
ctcp_ping_reply = "%k%z005f87 CTCP {hilight PING} reply %n%Z005f87%N {nick $0} %y%N%n $1.$[-3.0]2 seconds ";
ctcp_reply = "%k%z005f87 CTCP {hilight $0} reply %n%Z005f87%N {nick $1} %y%N $2 ";
ctcp_reply_channel = "%k%z005f87 CTCP {hilight $0} reply %n%Z005f87%N {nick $1} %y%N {channel $3} %y%N $2";
ctcp_requested = "%k%z005f87%8%8 CTCP {hilight $2} from {mynick $4} %n%Z005f87%N by {hilight $0} {comment $1} %y%N $3";
default_event = "%N%k %N%n$1";
default_event_server = "%k%z00d700$0 %N%k %N%n$1";
ebanlist = "%k%z005f00BANS %k exception %8 %z005f00{ichannelhilight $0} %N {ban $1}";
ebanlist_long = "%k%z005f00BANS %k exception %8 {ichannelhilight $0} %z005f00{comment by {inick $2}%0%k, $3 secs ago} %N {ban $1}";
end_of_who = "%z00d700%kWHO %Z00d700%0%N END";
end_of_whois = "%z00d700%kWHOIS %Z00d700%0%N END";
end_of_whowas = "%z00d700%kWHOWAS %Z00d700%0%N END";
netsplit = "%k%z8787ff%8%8 NETSPLIT %0%w%0%8 {iserver $0} %z00d700%8 {iserver $1}%8 %N%8%n%k%N Quits: $2";
netsplit_join = "%k%z8787ff NETSPLIT %k%8%N Joins: $0";
netsplit_join_more = "%k%z8787ff NETSPLIT %k%8%N Joins: $0 (+$1 more)";
netsplit_more = "%k%z8787ff%8%8 NETSPLIT %0%w%0%8 {iserver $0} %z00d700%8 {iserver $1}%8 %N%8%n%k%N Quits: $2 (+$3 more, use /NETSPLIT to show all of them)";
no_topic = "%k%N No topic set for {channelhilight $0}";
own_ctcp = "%k%z005f87 CTCP {hilight $2-} {inick $0} %n%Z005f87%N";
server_chanmode_change = "%k%z8787ff SERVERMODE %k%8 {channelhilight $0} {mode $1} by {nick $2}";
topic = "%k%z00d700TOPIC %Z00d700%0%N {channel $0}%N $1";
topic_info = "%k%z00d700TOPIC %Z00d700%0%N {nick $0}%N {nickhost $2} $1";
unaway = "%k%z00d700AWAY %Z00d700%0%N END";
usermode_change = "%z008700%ZeeeeeeMODE %N%Z008700%N {mode $0}%N for %0{mynick $1}%N";
who = "%z00d700%kWHO %Z00d700%z005f87 %z005f87%k{inick $[!9]1} %Z005f87%2 %k$0 %0%g Status: $[!3]2 $[-2]3 hops %N%g%N {nickhost $4@$5} {comment $6}";
whois = "%z00d700%kWHOIS %Z00d700%z005f87 {nick $0} %Z005f87%0 {nickhost $1@$2}%:{whois ircname $3}";
whowas = "%z00d700%kWHOWAS %Z00d700%0%n {nick $0} {nickhost $1@$2}%:{whois was $3}";
own_action = "$nickalign{ownaction $0$nicktrunc}$1";
action_private = "$nickalign{pvtaction $0$nicktrunc}$2";
action_private_query = "$nickalign{pvtaction_query $0$nicktrunc}$2";
action_public = "$nickalign{pubaction $0$nicktrunc}$1";
};
"Irssi::Script::adv_windowlist" = {
awl_display_header = "";
awl_display_key = " %0$N $H$C$S %n";
awl_display_key_active = "%W%Z008700%0%8 %zeeeeee$N $H$C$S%8 %0%8%8%n";
awl_display_key_visible = "%Z005fff %m$N %k $H$C$S %8%8%n";
awl_display_nokey = " %0$N %U$C%U %n";
awl_display_nokey_active = "%k%z005f87 %k$N %k %U$C%U %8%8%n";
awl_display_nokey_visible = "%k%z5f5fff %m$N %k %U$C%U %8%8%n";
awl_separator = "";
};
"Irssi::Script::usercount" = {
sb_usercount = "%z00af5f{sb $0 nicks ($1-)}";
sb_uc_ircops = "%z00d787*$*";
sb_uc_ops = "%z00d787@$*";
sb_uc_halfops = "%z00d787%%$*";
sb_uc_voices = "%z00af5f+$*";
sb_uc_normal = "$*";
sb_uc_space = " ";
};
"Irssi::Script::hilite_url" = {
url_color = "38;5;6";
};
};
|