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