updates.
[crypto.git] / apps / irssi / docs / startup-HOWTO.html
1  <h2>Startup HOWTO</h2>
2
3  <h3>To new Irssi users (not to new IRC users ..)</h3>
4
5  <p>Copyright (c) 2000-2002 by Timo Sirainen</p>
6
7
8 <p>Index with some FAQ questions that are answered in the chapter:</p>
9
10 <ol>
11 <li><a href="#c1">For all the lazy people</a></li>
12 <li><a href="#c2">Basic user interface usage</a>
13     <ul>
14     <li>Split windows work in weird way</li>
15     </ul></li>
16 <li><a href="#c3">Server and channel automation</a>
17     <ul>
18     <li>How do I automatically connect to servers at startup?</li>
19     <li>How do I automatically join to channels at startup?</li>
20     </ul></li>
21 <li><a href="#c4">Setting up windows and automatically restoring them
22     at startup</a></li>
23 <li><a href="#c5">Status and msgs windows &amp; message levels</a>
24     <ul>
25     <li>I want /WHOIS to print reply to current window</li>
26     <li>I want all messages to go to one window, not create new windows</li>
27     </ul></li>
28 <li><a href="#c6">How support for multiple servers works in irssi</a>
29     <ul>
30     <li>I connected to some server that doesn't respond and now irssi
31         keeps trying to reconnect to it again and again, how can I stop
32         it??</li>
33     <li>I want to have own status and/or msgs window for each servers</li>
34     </ul></li>
35 <li><a href="#c7">/LASTLOG and jumping around in scrollback</a>
36     <ul>
37     <li>How can I save all texts in a window to file?</li>
38     </ul></li>
39 <li><a href="#c8">Logging</a></li>
40 <li><a href="#c9">Changing keyboard bindings</a>
41     <ul>
42     <li>How do I make F1 key do something?</li>
43     </ul></li>
44 <li><a href="#c10">Proxies and IRC bouncers</a></li>
45 <li><a href="#c11">Irssi's settings</a></li>
46 </ol>
47
48 <h3><a id="c1">1. For all the lazy people</a></h3>
49
50 <p>These settings should give you pretty good defaults (the ones I use):</p>
51
52 <p>I don't like automatic query windows, I don't like status window, I do
53 like msgs window where all messages go:</p>
54
55 <pre>
56      /SET autocreate_own_query OFF
57      /SET autocreate_query_level DCCMSGS
58      /SET use_status_window OFF
59      /SET use_msgs_window ON
60 </pre>
61
62 <p>Disable automatic window closing when /PARTing channel or /UNQUERYing
63 query:</p>
64
65 <pre>
66      /SET autoclose_windows OFF
67      /SET reuse_unused_windows ON
68 </pre>
69
70 <p>And example how to add servers:</p>
71
72 <p>(openprojects network, identify with nickserv and wait for 2 seconds before
73 joining channels)</p>
74
75 <pre>
76      /IRCNET ADD -autosendcmd "/^msg nickserv ident pass;wait -opn 2000" opn
77 </pre>
78
79 <p>Then add some servers to different networks (ircnet is already set up 
80 for them), irc.kpnqwest.fi is used by default for IRCNet but if it fails,
81 irc.funet.fi is tried next:</p>
82
83 <pre>
84      /SERVER ADD -auto -ircnet ircnet irc.kpnqwest.fi 6667
85      /SERVER ADD -ircnet ircnet irc.funet.fi 6667
86      /SERVER ADD -auto -ircnet efnet efnet.cs.hut.fi 6667
87 </pre>
88
89 <p>Automatically join to channels after connected to server, send op request
90 to bot after joined to efnet/#irssi:</p>
91
92 <pre>
93      /CHANNEL ADD -auto #irssi ircnet
94      /CHANNEL ADD -auto -bots *!*bot@host.org -botcmd "/^msg $0 op pass"
95                   #irssi efnet
96 </pre>
97
98 If you want lines containing your nick to hilight:
99
100 <pre>
101      /HILIGHT nick
102 </pre>
103
104 <h3><a id="c2">2. Basic user interface usage</a></h3>
105
106 <p>Windows can be scrolled up/down with PgUp and PgDown keys. If they don't
107 work for you, use Meta-p and Meta-n keys. For jumping to beginning or end of
108 the buffer, use /SB HOME and /SB END commands.</p>
109
110 <p>By default, irssi uses "hidden windows" for everything. Hidden
111 window is created every time you /JOIN a channel or /QUERY someone.
112 There's several ways you can change between these windows:</p>
113
114 <pre>
115      Meta-1, Meta-2, .. Meta-0 - Jump directly between windows 1-10
116      Meta-q .. Meta-o          - Jump directly between windows 11-19
117      /WINDOW &lt;number&gt;          - Jump to any window with specified number
118      Ctrl-P, Ctrl-N            - Jump to previous / next window
119 </pre>
120
121 <p>Clearly the easiest way is to use Meta-number keys. And what is the Meta
122 key? For some terminals, it's the same as ALT. If you have Windows keyboard,
123 it's probably the left Windows key. If they don't work directly, you'll need
124 to set a few X resources (NOTE: these work with both xterm and rxvt):</p>   
125
126 <pre>
127      XTerm*eightBitInput:   false
128      XTerm*metaSendsEscape: true
129 </pre>
130
131 <p>With rxvt, you can also specify which key acts as Meta key. So if you
132 want to use ALT instead of Windows key for it, use:</p>
133
134 <pre>
135      rxvt*modifier: alt
136 </pre>
137
138 <p>You could do this by changing the X key mappings:</p>
139
140 <pre>
141     xmodmap -e "keysym Alt_L = Meta_L Alt_L"
142 </pre>
143
144 <p>And how exactly do you set these X resources? For Debian, there's
145 /etc/X11/Xresources/xterm file where you can put them and it's read 
146 automatically when X starts. ~/.Xresources and ~/.Xdefaults files might also
147 work. If you can't get anything else to work, just copy&amp;paste those lines to
148 ~/.Xresources and directly call "xrdb -merge ~/.Xresources" in some xterm.  
149 The resources affect only the new xterms you start, not existing ones.</p>  
150
151 <p>Many windows SSH clients also don't allow usage of ALT. One excellent
152 client that does allow is putty, you can download it from
153 <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">
154 http://www.chiark.greenend.org.uk/~sgtatham/putty/</a>.</p>
155
156 <p>Irssi also supports split windows, they've had some problems in past
157 but I think they should work pretty well now :) Here's some commands
158 related to them:</p>
159
160 <pre>
161      /WINDOW NEW                    - Create new split window
162      /WINDOW NEW HIDE               - Create new hidden window
163      /WINDOW CLOSE                  - Close split or hidden window
164
165      /WINDOW HIDE [&lt;number&gt;|&lt;name&gt;] - Make the split window hidden window
166      /WINDOW SHOW &lt;number&gt;|&lt;name&gt;   - Make the hidden window a split window
167
168      /WINDOW SHRINK [&lt;lines&gt;]       - Shrink the split window
169      /WINDOW GROW [&lt;lines&gt;]         - Grow the split window
170      /WINDOW BALANCE                - Balance the sizes of all split windows
171 </pre>
172
173 <p>By default, irssi uses "sticky windowing" for split windows. This means
174 that windows created inside one split window cannot be moved to another
175 split window without some effort. For example you could have following
176 window layout:</p>
177
178 <pre>
179      Split window 1: win#1 - Status window, win#2 - Messages window
180      Split window 2: win#3 - ircnet/#channel1, win#4 - ircnet/#channel2
181      Split window 3: win#5 - efnet/#channel1, win#6 - efnet/#channel2
182 </pre>
183
184 <p>When you are in win#1 and press ALT-6, irssi jumps to split window
185 #3 and moves the efnet/#channel2 the active window.</p>
186
187 <p>With non-sticky windowing the windows don't have any relationship with
188 split windows, pressing ALT-6 in win#1 moves win#6 to split window 1
189 and sets it active, except if win#6 was already visible in some other
190 split window irssi just changes to that split window. This it the way
191 windows work with ircii, if you prefer it you can set it with</p>
192
193 <pre>
194      /SET autostick_split_windows OFF
195 </pre>
196
197 <p>Each window can have multiple channels, queries and other "window
198 items" inside them. If you don't like windows at all, you disable
199 automatic creating of them with</p>
200
201 <pre>
202      /SET autocreate_windows OFF
203 </pre>
204
205 <p>If you want to group only some channels or queries in one window,
206 use</p>
207
208 <pre>
209      /JOIN -window #channel
210      /QUERY -window nick
211 </pre>
212
213 <h3><a id="c3">3. Server and channel automation</a></h3>
214
215 <p>Irssi's multiple IRC network support is IMHO very good - at least
216 compared to other clients :) Even if you're only in one IRC network you
217 should group all your servers to be in the same IRC network as this
218 helps with reconnecting if your primary server breaks and is probably
219 useful in some other ways too :) For information how to actually use
220 irssi correctly with multiple servers see the chapter 6.</p>
221
222 <p>First you need to have your IRC network set, use /IRCNET command to
223 see if it's already there. If it isn't, use /IRCNET ADD yourircnet. To
224 make Irssi work properly with different IRC networks, you might need to
225 give some special settings to /IRCNET ADD, see manual.txt for more
226 information about them. Irssi defaults to IRCNet's behaviour.</p>
227
228 <p>After that you need to add your servers. For example:</p>
229
230 <pre>
231      /SERVER ADD -auto -ircnet ircnet irc.kpnqwest.fi 6667
232      /SERVER ADD -auto -ircnet worknet irc.mycompany.com 6667 password
233 </pre>
234
235 <p>The -auto option specifies that this server is automatically connected
236 at startup. You don't need to make more than one server with -auto
237 option to one IRC network, other servers are automatically connected in
238 same network if the -auto server fails.</p>
239
240 <p>And finally channels:</p>
241
242 <pre>
243      /CHANNEL ADD -auto -bots *!*bot@host.org -botcmd "/^msg $0 op pass"
244                   #irssi efnet
245      /CHANNEL ADD -auto #secret ircnet password
246 </pre>
247
248 <p>-bots and -botcmd should be the only ones needing a bit of
249 explaining. They're used to send commands automatically to bot when
250 channel is joined, usually to get ops automatically. You can specify
251 multiple bot masks with -bots option separated with spaces (and
252 remember to quote the string then). The $0 in -botcmd specifies the
253 first found bot in the list. If you don't need the bot masks (ie. the
254 bot is always with the same nick, like chanserv) you can give only the
255 -botcmd option and the command is always sent.</p>
256
257
258 <h3><a id="c4">4. Setting up windows and automatically restoring them at startup</a></h3>
259
260 <p>First connect to all the servers, join the channels and create the
261 queries you want. If you want to move the windows or channels around
262 use commands:</p>
263
264 <pre>
265      /WINDOW MOVE LEFT/RIGHT/number    - move window elsewhere
266      /WINDOW ITEM MOVE &lt;number&gt;|&lt;name&gt; - move channel/query to another window
267 </pre>
268
269 <p>When everything looks the way you like, use /LAYOUT SAVE command
270 (and /SAVE, if you don't have autosaving enabled) and when you start
271 irssi next time, irssi remembers the positions of the channels, queries
272 and everything. This "remembering" doesn't mean that simply using
273 /LAYOUT SAVE would automatically make irssi reconnect to all servers
274 and join all channels, you'll need the /SERVER ADD -auto and /CHANNEL
275 ADD -auto commands to do that.</p>
276
277 <p>If you want to change the layout, you just rearrange the layout like
278 you want it and use /LAYOUT SAVE again. If you want to remove the
279 layout for some reason, use /LAYOUT RESET.</p>
280
281
282 <h3><a id="c5">5. Status and msgs windows &amp; message levels</a></h3>
283
284 <p>By default, all the "extra messages" go to status window. This means
285 pretty much all messages that don't clearly belong to some channel or
286 query. Some people like it, some don't. If you want to remove it, use</p>
287
288 <pre>
289      /SET use_status_window OFF
290 </pre>
291
292 <p>This doesn't have any effect until you restart irssi. If you want to
293 remove it immediately, just /WINDOW CLOSE it.</p>
294
295 <p>Another common window is "messages window", where all private
296 messages go. By default it's disabled and query windows are created
297 instead. To make all private messages go to msgs window, say:</p>
298
299 <pre>
300      /SET use_msgs_window ON
301      /SET autocreate_query_level DCCMSGS  (or if you don't want queries to
302                                            dcc chats either, say NONE)
303 </pre>
304
305 <p>use_msgs_window either doesn't have any effect until restarting
306 irssi. To create it immediately say:</p>
307
308 <pre>
309      /WINDOW NEW HIDE     - create the window
310      /WINDOW NAME (msgs)  - name it to "(msgs)"
311      /WINDOW LEVEL MSGS   - make all private messages go to this window
312      /WINDOW MOVE 1       - move it to first window
313 </pre>
314
315 <p>Note that neither use_msgs_window nor use_status_window have any
316 effect at all if /LAYOUT SAVE has been used.</p>
317
318 <p>This brings us to message levels.. What are they? All messages that
319 irssi prints have one or more "message levels". Most common are PUBLIC
320 for public messages in channels, MSGS for private messages and CRAP for
321 all sorts of messages with no real classification. You can get a whole
322 list of levels with</p>
323
324 <pre>
325      /HELP levels
326 </pre>
327
328 <p>Status window has message level "ALL -MSGS", meaning that all messages,
329 except private messages, without more specific place go to status
330 window. The -MSGS is there so it doesn't conflict with messages
331 window.</p>
332
333
334 <h3><a id="c6">6. How support for multiple servers works in irssi</a></h3>
335
336 <p>ircii and several other clients support multiple servers by placing
337 the connection into some window. IRSSI DOES NOT. There is no required
338 relationship between window and server. You can connect to 10 servers
339 and manage them all in just one window, or join channel in each one of
340 them to one sigle window if you really want to. That being said, here's
341 how you do connect to new server without closing the old connection:</p>
342
343 <pre>
344      /CONNECT irc.server.org
345 </pre>
346
347 <p>Instead of the /SERVER which disconnects the existing connection. To
348 see list of all active connections, use /SERVER without any parameters.
349 You should see a list of something like:</p>
350
351 <pre>
352      -!- IRCNet: irc.song.fi:6667 (IRCNet)
353      -!- OPN: tolkien.openprojects.net:6667 (OPN)
354      -!- RECON-1: 192.168.0.1:6667 () (02:59 left before reconnecting)
355 </pre>
356
357 <p>Here you see that we're connected to IRCNet and OPN networks. The
358 the IRCNet at the beginning is called the "server tag" while the
359 (IRCnet) at the end shows the IRC network. Server tag specifies unique
360 tag to refer to the server, usually it's the same as the IRC network.
361 When the IRC network isn't known it's some part of the server name.
362 When there's multiple connections to same IRC network or server, irssi
363 adds a number after the tag so there could be ircnet, ircnet2, ircnet3
364 etc.</p>
365
366 <p>Server tags beginning with RECON- mean server reconnections. Above we
367 see that connection to server at 192.168.0.1 wasn't successful and
368 irssi will try to connect it again in 3 minutes.</p>
369
370 <p>To disconnect one of the servers, or to stop irssi from
371 reconnecting, use</p>
372
373 <pre>
374      /DISCONNECT ircnet   - disconnect server with tag "ircnet"
375      /DISCONNECT recon-1  - stop trying to reconnect to RECON-1 server
376      /RMRECONNS           - stop all server reconnections
377
378      /RECONNECT recon-1   - immediately try reconnecting back to RECON-1
379      /RECONNECT ALL       - immediately try reconnecting back to all
380                             servers in reconnection queue
381 </pre>
382
383 <p>Now that you're connected to all your servers, you'll have to know how
384 to specify which one of them you want to use. One way is to have an
385 empty window, like status or msgs window. In it, you can specify which
386 server to set active with</p>
387
388 <pre>
389      /WINDOW SERVER tag    - set server "tag" active
390      Ctrl-X                - set the next server in list active
391 </pre>
392
393 <p>When the server is active, you can use it normally. When there's
394 multiple connected servers, irssi adds [servertag] prefix to all
395 messages in non-channel/query messages so you'll know where it came
396 from.</p>
397
398 <p>Several commands also accept -servertag option to specify which server
399 it should use:</p>
400
401 <pre>
402      /MSG -tag nick message
403      /JOIN -tag #channel
404      /QUERY -tag nick
405 </pre>
406
407 <p>/MSG tab completion also automatically adds the -tag option when
408 nick isn't in active server.</p>
409
410 <p>Window's server can be made sticky. When sticky, it will never
411 automatically change to anything else, and if server gets disconnected, the
412 window won't have any active server. When the server gets connected again,
413 it is automatically set active in the window. To set the window's server
414 sticky use</p>
415
416 <pre>
417      /WINDOW SERVER -sticky tag
418 </pre>
419
420 <p>This is useful if you wish to have multiple status or msgs windows, one
421 for each server. Here's how to do them (repeat for each server)</p>
422
423 <pre>
424      /WINDOW NEW HIDE
425      /WINDOW NAME (status)
426      /WINDOW LEVEL ALL -MSGS
427      /WINDOW SERVER -sticky ircnet
428
429      /WINDOW NEW HIDE
430      /WINDOW NAME (msgs)
431      /WINDOW LEVEL MSGS
432      /WINDOW SERVER -sticky ircnet
433 </pre>
434
435 <h3><a id="c7">7. /LASTLOG and jumping around in scrollback</a></h3>
436
437 <p>/LASTLOG command can be used for searching texts in scrollback
438 buffer. Simplest usages are</p>
439
440 <pre>
441      /LASTLOG word     - print all lines with "word" in them
442      /LASTLOG word 10  - print last 10 occurances of "word"
443      /LASTLOG -topics  - print all topic changes
444 </pre>
445
446 <p>If there's more than 1000 lines to be printed, irssi thinks that you
447 probably made some mistake and won't print them without -force option.
448 If you want to save the full lastlog to file, use</p>
449
450 <pre>
451      /LASTLOG -file ~/irc.log
452 </pre>
453
454 <p>With -file option you don't need -force even if there's more than 1000
455 lines. /LASTLOG has a lot of other options too, see /HELP lastlog for
456 details.</p>
457
458 <p>Once you've found the lines you were interested in, you might want
459 to check the discussion around them. Irssi has /SCROLLBACK (or alias
460 /SB) command for jumping around in scrollback buffer. Since /LASTLOG
461 prints the timestamp when the message was originally printed, you can
462 use /SB GOTO hh:mm to jump directly there. To get back to the bottom of
463 scrollback, use /SB END command.</p>
464
465
466 <h3><a id="c8">8. Logging</a></h3>
467
468 <p>Irssi can automatically log important messages when you're set away
469 (/AWAY reason). When you set yourself unaway (/AWAY), the new messages
470 in away log are printed to screen. You can configure it with:</p>
471
472 <pre>
473      /SET awaylog_level MSGS HILIGHT     - Specifies what messages to log
474      /SET awaylog_file ~/.irssi/away.log - Specifies the file to use
475 </pre>
476
477 <p>Easiest way to start logging with Irssi is to use autologging. With it
478 Irssi logs all channels and private messages to specified directory.
479 You can turn it on with</p>
480
481 <pre>
482      /SET autolog ON
483 </pre>
484
485 <p>By default it logs pretty much everything execept CTCPS or CRAP
486 (/WHOIS requests, etc). You can specify the logging level yourself with</p>
487
488 <pre>
489      /SET autolog_level ALL -CRAP -CLIENTCRAP -CTCPS (this is the default)
490 </pre>
491
492 <p>By default irssi logs to ~/irclogs/&lt;servertag&gt;/&lt;target&gt;.log.
493 You can change this with</p>
494
495 <pre>
496      /SET autolog_path ~/irclogs/$tag/$0.log (this is the default)
497 </pre>
498
499 <p>The path is automatically created if it doesn't exist. $0 specifies
500 the target (channel/nick). You can make irssi automatically rotate the
501 logs by adding date/time formats to the file name. The formats are in
502 "man strftime" format. For example</p>
503
504 <pre>
505      /SET autolog_path ~/irclogs/%Y/$tag/$0.%m-%d.log
506 </pre>
507
508 <p>For logging only some specific channels or nicks, see /HELP log</p>
509
510
511 <h3><a id="c9">9. Changing keyboard bindings</a></h3>
512
513 <p>You can change any keyboard binding that terminal lets irssi know
514 about. It doesn't let irssi know everything, so for example
515 shift-backspace can't be bound unless you modify xterm resources
516 somehow.</p>
517
518 <p>/HELP bind tells pretty much everything there is to know about
519 keyboard bindings. However, there's the problem of how to bind some
520 non-standard keys. They might differ a bit with each terminal, so
521 you'll need to find out what exactly the keypress produces. Easiest
522 way to check that would be to see what it prints in "cat". Here's
523 an example for pressing F1 key:</p>
524
525 <pre>
526 [cras@hurina] ~% cat
527 ^[OP
528 </pre>
529
530 <p>So in irssi you would use /BIND ^[OP /ECHO F1 pressed. If you use
531 multiple terminals which have different bindings for the key, it would
532 be better to use eg.:</p>
533
534 <pre>
535 /BIND ^[OP key F1
536 /BIND ^[11~ key F1
537 /BIND F1 /ECHO F1 pressed.
538 </pre>
539
540 <h3><a id="c10">10. Proxies and IRC bouncers</a></h3>
541
542 <p>Irssi supports connecting to IRC servers via a proxy. All proxies have
543 these settings in common:</p>
544
545 <pre>
546      /SET use_proxy ON
547      /SET proxy_address &lt;Proxy host address&gt;
548      /SET proxy_port &lt;Proxy port&gt;
549 </pre>
550
551 <p><strong>HTTP proxy</strong></p>
552
553 <p>Use these settings with HTTP proxies:</p>
554
555 <pre>
556      /SET -clear proxy_password
557      /EVAL SET proxy_string CONNECT %s:%d\n\n
558 </pre>
559
560 <p><strong>BNC</strong></p>
561
562 <pre>
563      /SET proxy_password your_pass
564      /SET -clear proxy_string
565      /SET proxy_string conn %s %d
566 </pre>
567
568 <p><strong>dircproxy</strong></p>
569
570 <p>dircproxy separates the server connections by passwords. So, if you
571 for example have ircnet connection with password ircpass and
572 openprojects connection with opnpass, you would do something like
573 this:</p>
574
575 <pre>
576      /SET -clear proxy_password
577      /SET -clear proxy_string
578
579      /SERVER ADD -auto -ircnet ircnet fake.ircnet 6667 ircpass
580      /SERVER ADD -auto -ircnet opn fake.opn 6667 opnpass
581 </pre>
582
583 <p>The server name and port you give isn't used anywhere, so you can
584 put anything you want in there.</p>
585
586 <p><strong>Irssi proxy</strong></p>
587
588 <p>Irssi contains it's own proxy which you can build giving
589 <strong>--with-proxy</strong> option to configure. You'll still need to run
590 irssi in a screen to use it though.</p>
591
592 <p>Irssi proxy is a bit different than most proxies, normally proxies create
593 a new connection to IRC server when you connect to it, but with irssi proxy
594 all the clients use the same IRC server connection (a bit like how screen -x
595 works).</p>
596
597 <p>Irssi proxy supports sharing multiple server connections in different
598 ports, like you can share ircnet in port 2777 and efnet in port 2778.</p>
599
600 <p>Usage in proxy side:</p>
601
602 <pre>
603      /LOAD proxy
604      /SET irssiproxy_password &lt;password&gt;
605      /SET irssiproxy_ports &lt;ircnet&gt;=&lt;port&gt; ... (eg. ircnet=2777 efnet=2778)
606 </pre>
607
608 <p><strong>NOTE</strong>: you <strong>MUST</strong> add all the servers you
609 are using to server and ircnet lists with /SERVER ADD and /IRCNET ADD.
610 ..Except if you really don't want to for some reason, and you only use
611 one server connection, you may simply set:</p>
612
613 <pre>
614      /SET irssiproxy_ports *=2777
615 </pre>
616
617 <p>Usage in client side:</p>
618
619 <p>Just connect to the irssi proxy like it is a normal server with password
620 specified in /SET irssiproxy_password. For example:</p>
621
622 <pre>
623      /SERVER ADD -ircnet ircnet my.irssi-proxy.org 2777 secret
624      /SERVER ADD -ircnet efnet my.irssi-proxy.org 2778 secret
625 </pre>
626
627 <p>Irssi proxy works fine with other IRC clients as well.</p>
628
629 <p><strong>SOCKS</strong></p>
630
631 Irssi can be compiled with socks support (<strong>--with-socks</strong>
632 option to configure), but I don't really know how it works, if at all. /SET
633 proxy settings don't have anything to do with socks however.
634
635 <p><strong>Others</strong></p>
636
637 <p>IRC bouncers usually work like IRC servers, and want a password. You can
638 give it with:</p>
639
640 <pre>
641      /SET proxy_password &lt;password&gt;
642 </pre>
643
644 <p>Irssi's defaults for connect strings are</p>
645
646 <pre>
647      /SET proxy_string CONNECT %s %d
648      /SET proxy_string_after
649 </pre>
650
651 <p>The proxy_string is sent before NICK/USER commands, the
652 proxy_string_after is sent after them. %s and %d can be used with both
653 of them.</p>
654
655 <h3><a id="c11">11. Irssi's settings</a></h3>
656
657 <p>You probably don't like Irssi's default settings. I don't like them.
658 But I'm still convinced that they're pretty good defaults. Here's some
659 of them you might want to change (the default value is shown):</p>
660
661 <p><strong>Queries</strong></p>
662
663 <dl>
664 <dt>/SET autocreate_own_query ON</dt>
665   <dd>Should new query window be created when you send message to someone
666   (with /msg).</dd>
667
668 <dt>/SET autocreate_query_level MSGS</dt>
669   <dd>New query window should be created when receiving messages with
670   this level. MSGS, DCCMSGS and NOTICES levels work currently. You can
671   disable this with /SET -clear autocrate_query_level.</dd>
672
673 <dt>/SET autoclose_query 0</dt>
674   <dd>Query windows can be automatically closed after certain time of
675   inactivity. Queries with unread messages aren't closed and active
676   window is neither never closed. The value is given in seconds.</dd>
677 </dl>
678
679 <p><strong>Windows</strong></p>
680
681 <dl>
682 <dt>/SET use_msgs_window OFF</dt>
683   <dd>Create messages window at startup. All private messages go to this
684   window. This only makes sense if you've disabled automatic query
685   windows. Message window can also be created manually with /WINDOW LEVEL
686   MSGS, /WINDOW NAME (msgs).</dd>
687
688 <dt>/SET use_status_window ON</dt>
689   <dd>Create status window at startup. All messages that don't really
690   have better place go here, like all /WHOIS replies etc. Status window
691   can also be created manually with /WINDOW LEVEL ALL -MSGS, /WINDOW NAME
692   (status).</dd>
693
694 <dt>/SET autocreate_windows ON</dt>
695   <dd>Should we create new windows for new window items or just place
696   everything in one window</dd>
697
698 <dt>/SET autoclose_windows ON</dt>
699   <dd>Should window be automatically closed when the last item in them is
700   removed (ie. /PART, /UNQUERY).</dd>
701
702 <dt>/SET reuse_unused_windows OFF</dt>
703   <dd>When finding where to place new window item (channel, query) Irssi
704   first tries to use already existing empty windows. If this is set ON,
705   new window will always be created for all window items. This setting is
706   ignored if autoclose_windows is set ON.</dd>
707
708 <dt>/SET window_auto_change OFF</dt>
709   <dd>Should Irssi automatically change to automatically created windows
710   - usually queries when someone sends you a message. To prevent
711   accidentally sending text meant to some other channel/nick, Irssi
712   clears the input buffer when changing the window. The text is still in
713   scrollback buffer, you can get it back with pressing arrow up key.</dd>
714
715 <dt>/SET print_active_channel OFF</dt>
716   <dd>When you keep more than one channel in same window, Irssi prints
717   the messages coming to active channel as &quot;&lt;nick&gt; text&quot;
718   and other channels as &quot;&lt;nick:channel&gt; text&quot;. If this
719   setting is set ON, the messages to active channels are also printed in
720   the latter way.</dd>
721
722 <dt>/SET window_history OFF</dt>
723   <dd>Should command history be kept separate for each window.</dd>
724 </dl>
725
726
727 <p><strong>User information</strong></p>
728
729 <dl>
730 <dt>/SET nick</dt>
731   <dd>Your nick name</dd>
732
733 <dt>/SET alternate_nick</dt>
734   <dd>Your alternate nick.</dd>
735
736 <dt>/SET user_name</dt>
737   <dd>Your username, if you have ident enabled this doesn't affect 
738   anything</dd>
739
740 <dt>/SET real_name</dt>
741   <dd>Your real name.</dd>
742 </dl>
743
744
745 <p><strong>Server information</strong></p>
746
747 <dl>
748 <dt>/SET skip_motd OFF</dt>
749   <dd>Should we hide server's MOTD (Message Of The Day).</dd>
750
751 <dt>/SET server_reconnect_time 300</dt>
752   <dd>Seconds to wait before connecting to same server again. Don't set
753   this too low since it usually doesn't help at all - if the host is
754   down, the few extra minutes of waiting won't hurt much.</dd>
755
756 <dt>/SET lag_max_before_disconnect 300</dt>
757   <dd>Maximum server lag in seconds before disconnecting and trying to
758   reconnect. This happens mostly only when network breaks between you and
759   IRC server.</dd>
760 </dl>
761
762
763 <p><strong>Appearance</strong></p>
764
765 <dl>
766 <dt>/SET timestamps ON</dt>
767   <dd>Show timestamps before each message.</dd>
768
769 <dt>/SET hide_text_style OFF</dt>
770   <dd>Hide all bolds, underlines, MIRC colors, etc.</dd>
771
772 <dt>/SET show_nickmode ON</dt>
773   <dd>Show the nick's mode before nick in channels, ie. ops have
774   &lt;@nick&gt;, voices &lt;+nick&gt; and others &lt;&nbsp;nick&gt;</dd>
775
776 <dt>/SET show_nickmode_empty ON</dt>
777   <dd>If the nick doesn't have a mode, use one space. ie. ON:
778   &lt;&nbsp;nick&gt;, OFF: &lt;nick&gt;</dd>
779
780 <dt>/SET show_quit_once OFF</dt>
781   <dd>Show quit message only once in some of the channel windows the
782   nick was in instead of in all windows.</dd>
783
784 <dt>/SET lag_min_show 100</dt>
785   <dd>Show the server lag in status bar if it's bigger than this, the
786   unit is 1/100 of seconds (ie. the default value of 100 = 1 second).</dd>
787
788 <dt>/SET indent 10</dt>
789   <dd>When lines are longer than screen width they have to be split to
790   multiple lines. This specifies how much space to put at the beginning
791   of the line before the text begins. This can be overridden in text
792   formats with %| format.</dd>
793
794 <dt>/SET activity_hide_targets</dt>
795   <dd>If you don't want to see window activity in some certain channels
796   or queries, list them here. For example "#boringchannel =bot1 =bot2".
797   If any highlighted text or message for you appears in that window, this
798   setting is ignored and the activity is shown.</dd>
799
800 <p><strong>Nick completion</strong></p>
801
802 <dl>
803 <dt>/SET completion_auto OFF</dt>
804   <dd>Automatically complete the nick if line begins with start of nick
805   and the completion character. Learn to use the tab-completion instead,
806   it's a lot better ;)</dd>
807
808 <dt>/SET completion_char :</dt>
809   <dd>Completion character to use.</dd>
810 </dl>