summaryrefslogtreecommitdiff
path: root/default.theme
blob: 0972a647a79b61cf58eb9fbd07a03ef81eb3b78a (plain)
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
# When testing changes, the easiest way to reload the theme 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-%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-}";

  # 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)
  ##

  # generic one that's used by most actions
  action = "%W * $0-%n ";

  # own action, both private/public
  ownaction = "{action $0-}";

  # 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-}";

  # DCC chat, others
  dccmsg = "[%G$1-%K(%g$0%K)%n] ";
  dccquerynick = "%G$0-%n";
  dccaction = "%W (*dcc*) $0-%n %|";
};