mirror of
https://github.com/irssi/irssi.git
synced 2024-09-08 04:26:01 -04:00
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2582 dbcabf3a-b0e7-0310-adc4-f8d773084564
953 lines
33 KiB
HTML
953 lines
33 KiB
HTML
<h2>Startup HOWTO</h2>
|
|
|
|
<h3>To new Irssi users (not to new IRC users ..)</h3>
|
|
|
|
<p>Copyright (c) 2000-2002 by Timo Sirainen</p>
|
|
|
|
|
|
<p>Index with some FAQ questions that are answered in the chapter:</p>
|
|
|
|
<ol>
|
|
<li><a href="#c1">For all the lazy people</a></li>
|
|
<ul>
|
|
<li>This window management is just weird, I want it exactly like ircII</li>
|
|
</ul>
|
|
<li><a href="#c2">Basic user interface usage</a>
|
|
<ul>
|
|
<li>Split windows work in weird way</li>
|
|
</ul></li>
|
|
<li><a href="#c3">Server and channel automation</a>
|
|
<ul>
|
|
<li>How do I automatically connect to servers at startup?</li>
|
|
<li>How do I automatically join to channels at startup?</li>
|
|
</ul></li>
|
|
<li><a href="#c4">Setting up windows and automatically restoring them
|
|
at startup</a></li>
|
|
<li><a href="#c5">Status and msgs windows & message levels</a>
|
|
<ul>
|
|
<li>I want /WHOIS to print reply to current window</li>
|
|
<li>I want all messages to go to one window, not create new windows</li>
|
|
</ul></li>
|
|
<li><a href="#c6">How support for multiple servers works in irssi</a>
|
|
<ul>
|
|
<li>I connected to some server that doesn't respond and now irssi
|
|
keeps trying to reconnect to it again and again, how can I stop
|
|
it??</li>
|
|
<li>I want to have own status and/or msgs window for each servers</li>
|
|
</ul></li>
|
|
<li><a href="#c7">/LASTLOG and jumping around in scrollback</a>
|
|
<ul>
|
|
<li>How can I save all texts in a window to file?</li>
|
|
</ul></li>
|
|
<li><a href="#c8">Logging</a></li>
|
|
<li><a href="#c9">Changing keyboard bindings</a>
|
|
<ul>
|
|
<li>How do I make F1 key do something?</li>
|
|
</ul></li>
|
|
<li><a href="#c10">Proxies and IRC bouncers</a></li>
|
|
<li><a href="#c11">Irssi's settings</a></li>
|
|
<li><a href="#c12">Statusbar</a>
|
|
<ul>
|
|
<li>I loaded a statusbar script but it's not visible anywhere!</li>
|
|
</ul></li>
|
|
</ol>
|
|
|
|
<h3><a id="c1">1. For all the lazy people</a></h3>
|
|
|
|
<p>These settings should give you pretty good defaults (the ones I use):</p>
|
|
|
|
<p>If colors don't work, and you know you're not going to use some
|
|
weird non-VT compatible terminal (you most probably aren't), just
|
|
say:</p>
|
|
|
|
<pre>
|
|
/SET term_force_colors ON
|
|
</pre>
|
|
|
|
<p>I don't like automatic query windows, I don't like status window, I do
|
|
like msgs window where all messages go:</p>
|
|
|
|
<pre>
|
|
/SET autocreate_own_query OFF
|
|
/SET autocreate_query_level DCCMSGS
|
|
/SET use_status_window OFF
|
|
/SET use_msgs_window ON
|
|
</pre>
|
|
|
|
<p>Disable automatic window closing when /PARTing channel or /UNQUERYing
|
|
query:</p>
|
|
|
|
<pre>
|
|
/SET autoclose_windows OFF
|
|
/SET reuse_unused_windows ON
|
|
</pre>
|
|
|
|
<p>Here's the settings that make irssi work exactly like ircII in window
|
|
management (send me a note if you can think of more):</p>
|
|
|
|
<pre>
|
|
/SET autocreate_own_query OFF
|
|
/SET autocreate_query_level NONE
|
|
/SET use_status_window OFF
|
|
/SET use_msgs_window OFF
|
|
/SET reuse_unused_windows ON
|
|
/SET windows_auto_renumber OFF
|
|
|
|
/SET autostick_split_windows OFF
|
|
/SET autoclose_windows OFF
|
|
/SET print_active_channel ON
|
|
</pre>
|
|
|
|
<p>And example how to add servers:</p>
|
|
|
|
<p>(openprojects network, identify with nickserv and wait for 2 seconds before
|
|
joining channels)</p>
|
|
|
|
<pre>
|
|
/IRCNET ADD -autosendcmd "/^msg nickserv ident pass;wait -opn 2000" opn
|
|
</pre>
|
|
|
|
<p>Then add some servers to different networks (ircnet is already set up
|
|
for them), irc.kpnqwest.fi is used by default for IRCNet but if it fails,
|
|
irc.funet.fi is tried next:</p>
|
|
|
|
<pre>
|
|
/SERVER ADD -auto -ircnet ircnet irc.kpnqwest.fi 6667
|
|
/SERVER ADD -ircnet ircnet irc.funet.fi 6667
|
|
/SERVER ADD -auto -ircnet efnet efnet.cs.hut.fi 6667
|
|
</pre>
|
|
|
|
<p>Automatically join to channels after connected to server, send op request
|
|
to bot after joined to efnet/#irssi:</p>
|
|
|
|
<pre>
|
|
/CHANNEL ADD -auto #irssi ircnet
|
|
/CHANNEL ADD -auto -bots *!*bot@host.org -botcmd "/^msg $0 op pass"
|
|
#irssi efnet
|
|
</pre>
|
|
|
|
If you want lines containing your nick to hilight:
|
|
|
|
<pre>
|
|
/HILIGHT nick
|
|
</pre>
|
|
|
|
<h3><a id="c2">2. Basic user interface usage</a></h3>
|
|
|
|
<p>Windows can be scrolled up/down with PgUp and PgDown keys. If they don't
|
|
work for you, use Meta-p and Meta-n keys. For jumping to beginning or end of
|
|
the buffer, use /SB HOME and /SB END commands.</p>
|
|
|
|
<p>By default, irssi uses "hidden windows" for everything. Hidden
|
|
window is created every time you /JOIN a channel or /QUERY someone.
|
|
There's several ways you can change between these windows:</p>
|
|
|
|
<pre>
|
|
Meta-1, Meta-2, .. Meta-0 - Jump directly between windows 1-10
|
|
Meta-q .. Meta-o - Jump directly between windows 11-19
|
|
/WINDOW <number> - Jump to any window with specified number
|
|
Ctrl-P, Ctrl-N - Jump to previous / next window
|
|
</pre>
|
|
|
|
<p>Clearly the easiest way is to use Meta-number keys. And what is the Meta
|
|
key? For some terminals, it's the same as ALT. If you have Windows keyboard,
|
|
it's probably the left Windows key. If they don't work directly, you'll need
|
|
to set a few X resources (NOTE: these work with both xterm and rxvt):</p>
|
|
|
|
<pre>
|
|
XTerm*eightBitInput: false
|
|
XTerm*metaSendsEscape: true
|
|
</pre>
|
|
|
|
<p>With rxvt, you can also specify which key acts as Meta key. So if you
|
|
want to use ALT instead of Windows key for it, use:</p>
|
|
|
|
<pre>
|
|
rxvt*modifier: alt
|
|
</pre>
|
|
|
|
<p>You could do this by changing the X key mappings:</p>
|
|
|
|
<pre>
|
|
xmodmap -e "keysym Alt_L = Meta_L Alt_L"
|
|
</pre>
|
|
|
|
<p>And how exactly do you set these X resources? For Debian, there's
|
|
/etc/X11/Xresources/xterm file where you can put them and it's read
|
|
automatically when X starts. ~/.Xresources and ~/.Xdefaults files might also
|
|
work. If you can't get anything else to work, just copy&paste those lines to
|
|
~/.Xresources and directly call "xrdb -merge ~/.Xresources" in some xterm.
|
|
The resources affect only the new xterms you start, not existing ones.</p>
|
|
|
|
<p>Many windows SSH clients also don't allow usage of ALT. One excellent
|
|
client that does allow is putty, you can download it from
|
|
<a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">
|
|
http://www.chiark.greenend.org.uk/~sgtatham/putty/</a>.</p>
|
|
|
|
<p>Irssi also supports split windows, they've had some problems in past
|
|
but I think they should work pretty well now :) Here's some commands
|
|
related to them:</p>
|
|
|
|
<pre>
|
|
/WINDOW NEW - Create new split window
|
|
/WINDOW NEW HIDE - Create new hidden window
|
|
/WINDOW CLOSE - Close split or hidden window
|
|
|
|
/WINDOW HIDE [<number>|<name>] - Make the split window hidden window
|
|
/WINDOW SHOW <number>|<name> - Make the hidden window a split window
|
|
|
|
/WINDOW SHRINK [<lines>] - Shrink the split window
|
|
/WINDOW GROW [<lines>] - Grow the split window
|
|
/WINDOW BALANCE - Balance the sizes of all split windows
|
|
</pre>
|
|
|
|
<p>By default, irssi uses "sticky windowing" for split windows. This means
|
|
that windows created inside one split window cannot be moved to another
|
|
split window without some effort. For example you could have following
|
|
window layout:</p>
|
|
|
|
<pre>
|
|
Split window 1: win#1 - Status window, win#2 - Messages window
|
|
Split window 2: win#3 - ircnet/#channel1, win#4 - ircnet/#channel2
|
|
Split window 3: win#5 - efnet/#channel1, win#6 - efnet/#channel2
|
|
</pre>
|
|
|
|
<p>When you are in win#1 and press ALT-6, irssi jumps to split window
|
|
#3 and moves the efnet/#channel2 the active window.</p>
|
|
|
|
<p>With non-sticky windowing the windows don't have any relationship with
|
|
split windows, pressing ALT-6 in win#1 moves win#6 to split window 1
|
|
and sets it active, except if win#6 was already visible in some other
|
|
split window irssi just changes to that split window. This it the way
|
|
windows work with ircii, if you prefer it you can set it with</p>
|
|
|
|
<pre>
|
|
/SET autostick_split_windows OFF
|
|
</pre>
|
|
|
|
<p>Each window can have multiple channels, queries and other "window
|
|
items" inside them. If you don't like windows at all, you disable
|
|
automatic creating of them with</p>
|
|
|
|
<pre>
|
|
/SET autocreate_windows OFF
|
|
</pre>
|
|
|
|
<p>And if you keep all channels in one window, you most probably want
|
|
the channel name printed in each line:</p>
|
|
|
|
<pre>
|
|
/SET print_active_channel ON
|
|
</pre>
|
|
|
|
<p>If you want to group only some channels or queries in one window,
|
|
use</p>
|
|
|
|
<pre>
|
|
/JOIN -window #channel
|
|
/QUERY -window nick
|
|
</pre>
|
|
|
|
<h3><a id="c3">3. Server and channel automation</a></h3>
|
|
|
|
<p>Irssi's multiple IRC network support is IMHO very good - at least
|
|
compared to other clients :) Even if you're only in one IRC network you
|
|
should group all your servers to be in the same IRC network as this
|
|
helps with reconnecting if your primary server breaks and is probably
|
|
useful in some other ways too :) For information how to actually use
|
|
irssi correctly with multiple servers see the chapter 6.</p>
|
|
|
|
<p>First you need to have your IRC network set, use /IRCNET command to
|
|
see if it's already there. If it isn't, use /IRCNET ADD yourircnet. To
|
|
make Irssi work properly with different IRC networks, you might need to
|
|
give some special settings to /IRCNET ADD, see manual.txt for more
|
|
information about them. Irssi defaults to IRCNet's behaviour.</p>
|
|
|
|
<p>After that you need to add your servers. For example:</p>
|
|
|
|
<pre>
|
|
/SERVER ADD -auto -ircnet ircnet irc.kpnqwest.fi 6667
|
|
/SERVER ADD -auto -ircnet worknet irc.mycompany.com 6667 password
|
|
</pre>
|
|
|
|
<p>The -auto option specifies that this server is automatically connected
|
|
at startup. You don't need to make more than one server with -auto
|
|
option to one IRC network, other servers are automatically connected in
|
|
same network if the -auto server fails.</p>
|
|
|
|
<p>And finally channels:</p>
|
|
|
|
<pre>
|
|
/CHANNEL ADD -auto -bots *!*bot@host.org -botcmd "/^msg $0 op pass"
|
|
#irssi efnet
|
|
/CHANNEL ADD -auto #secret ircnet password
|
|
</pre>
|
|
|
|
<p>-bots and -botcmd should be the only ones needing a bit of
|
|
explaining. They're used to send commands automatically to bot when
|
|
channel is joined, usually to get ops automatically. You can specify
|
|
multiple bot masks with -bots option separated with spaces (and
|
|
remember to quote the string then). The $0 in -botcmd specifies the
|
|
first found bot in the list. If you don't need the bot masks (ie. the
|
|
bot is always with the same nick, like chanserv) you can give only the
|
|
-botcmd option and the command is always sent.</p>
|
|
|
|
|
|
<h3><a id="c4">4. Setting up windows and automatically restoring them at startup</a></h3>
|
|
|
|
<p>First connect to all the servers, join the channels and create the
|
|
queries you want. If you want to move the windows or channels around
|
|
use commands:</p>
|
|
|
|
<pre>
|
|
/WINDOW MOVE LEFT/RIGHT/number - move window elsewhere
|
|
/WINDOW ITEM MOVE <number>|<name> - move channel/query to another window
|
|
</pre>
|
|
|
|
<p>When everything looks the way you like, use /LAYOUT SAVE command
|
|
(and /SAVE, if you don't have autosaving enabled) and when you start
|
|
irssi next time, irssi remembers the positions of the channels, queries
|
|
and everything. This "remembering" doesn't mean that simply using
|
|
/LAYOUT SAVE would automatically make irssi reconnect to all servers
|
|
and join all channels, you'll need the /SERVER ADD -auto and /CHANNEL
|
|
ADD -auto commands to do that.</p>
|
|
|
|
<p>If you want to change the layout, you just rearrange the layout like
|
|
you want it and use /LAYOUT SAVE again. If you want to remove the
|
|
layout for some reason, use /LAYOUT RESET.</p>
|
|
|
|
|
|
<h3><a id="c5">5. Status and msgs windows & message levels</a></h3>
|
|
|
|
<p>By default, all the "extra messages" go to status window. This means
|
|
pretty much all messages that don't clearly belong to some channel or
|
|
query. Some people like it, some don't. If you want to remove it, use</p>
|
|
|
|
<pre>
|
|
/SET use_status_window OFF
|
|
</pre>
|
|
|
|
<p>This doesn't have any effect until you restart irssi. If you want to
|
|
remove it immediately, just /WINDOW CLOSE it.</p>
|
|
|
|
<p>Another common window is "messages window", where all private
|
|
messages go. By default it's disabled and query windows are created
|
|
instead. To make all private messages go to msgs window, say:</p>
|
|
|
|
<pre>
|
|
/SET use_msgs_window ON
|
|
/SET autocreate_query_level DCCMSGS (or if you don't want queries to
|
|
dcc chats either, say NONE)
|
|
</pre>
|
|
|
|
<p>use_msgs_window either doesn't have any effect until restarting
|
|
irssi. To create it immediately say:</p>
|
|
|
|
<pre>
|
|
/WINDOW NEW HIDE - create the window
|
|
/WINDOW NAME (msgs) - name it to "(msgs)"
|
|
/WINDOW LEVEL MSGS - make all private messages go to this window
|
|
/WINDOW MOVE 1 - move it to first window
|
|
</pre>
|
|
|
|
<p>Note that neither use_msgs_window nor use_status_window have any
|
|
effect at all if /LAYOUT SAVE has been used.</p>
|
|
|
|
<p>This brings us to message levels.. What are they? All messages that
|
|
irssi prints have one or more "message levels". Most common are PUBLIC
|
|
for public messages in channels, MSGS for private messages and CRAP for
|
|
all sorts of messages with no real classification. You can get a whole
|
|
list of levels with</p>
|
|
|
|
<pre>
|
|
/HELP levels
|
|
</pre>
|
|
|
|
<p>Status window has message level "ALL -MSGS", meaning that all messages,
|
|
except private messages, without more specific place go to status
|
|
window. The -MSGS is there so it doesn't conflict with messages
|
|
window.</p>
|
|
|
|
|
|
<h3><a id="c6">6. How support for multiple servers works in irssi</a></h3>
|
|
|
|
<p>ircii and several other clients support multiple servers by placing
|
|
the connection into some window. IRSSI DOES NOT. There is no required
|
|
relationship between window and server. You can connect to 10 servers
|
|
and manage them all in just one window, or join channel in each one of
|
|
them to one sigle window if you really want to. That being said, here's
|
|
how you do connect to new server without closing the old connection:</p>
|
|
|
|
<pre>
|
|
/CONNECT irc.server.org
|
|
</pre>
|
|
|
|
<p>Instead of the /SERVER which disconnects the existing connection. To
|
|
see list of all active connections, use /SERVER without any parameters.
|
|
You should see a list of something like:</p>
|
|
|
|
<pre>
|
|
-!- IRCNet: irc.song.fi:6667 (IRCNet)
|
|
-!- OPN: tolkien.openprojects.net:6667 (OPN)
|
|
-!- RECON-1: 192.168.0.1:6667 () (02:59 left before reconnecting)
|
|
</pre>
|
|
|
|
<p>Here you see that we're connected to IRCNet and OPN networks. The
|
|
the IRCNet at the beginning is called the "server tag" while the
|
|
(IRCnet) at the end shows the IRC network. Server tag specifies unique
|
|
tag to refer to the server, usually it's the same as the IRC network.
|
|
When the IRC network isn't known it's some part of the server name.
|
|
When there's multiple connections to same IRC network or server, irssi
|
|
adds a number after the tag so there could be ircnet, ircnet2, ircnet3
|
|
etc.</p>
|
|
|
|
<p>Server tags beginning with RECON- mean server reconnections. Above we
|
|
see that connection to server at 192.168.0.1 wasn't successful and
|
|
irssi will try to connect it again in 3 minutes.</p>
|
|
|
|
<p>To disconnect one of the servers, or to stop irssi from
|
|
reconnecting, use</p>
|
|
|
|
<pre>
|
|
/DISCONNECT ircnet - disconnect server with tag "ircnet"
|
|
/DISCONNECT recon-1 - stop trying to reconnect to RECON-1 server
|
|
/RMRECONNS - stop all server reconnections
|
|
|
|
/RECONNECT recon-1 - immediately try reconnecting back to RECON-1
|
|
/RECONNECT ALL - immediately try reconnecting back to all
|
|
servers in reconnection queue
|
|
</pre>
|
|
|
|
<p>Now that you're connected to all your servers, you'll have to know how
|
|
to specify which one of them you want to use. One way is to have an
|
|
empty window, like status or msgs window. In it, you can specify which
|
|
server to set active with</p>
|
|
|
|
<pre>
|
|
/WINDOW SERVER tag - set server "tag" active
|
|
Ctrl-X - set the next server in list active
|
|
</pre>
|
|
|
|
<p>When the server is active, you can use it normally. When there's
|
|
multiple connected servers, irssi adds [servertag] prefix to all
|
|
messages in non-channel/query messages so you'll know where it came
|
|
from.</p>
|
|
|
|
<p>Several commands also accept -servertag option to specify which server
|
|
it should use:</p>
|
|
|
|
<pre>
|
|
/MSG -tag nick message
|
|
/JOIN -tag #channel
|
|
/QUERY -tag nick
|
|
</pre>
|
|
|
|
<p>/MSG tab completion also automatically adds the -tag option when
|
|
nick isn't in active server.</p>
|
|
|
|
<p>Window's server can be made sticky. When sticky, it will never
|
|
automatically change to anything else, and if server gets disconnected, the
|
|
window won't have any active server. When the server gets connected again,
|
|
it is automatically set active in the window. To set the window's server
|
|
sticky use</p>
|
|
|
|
<pre>
|
|
/WINDOW SERVER -sticky tag
|
|
</pre>
|
|
|
|
<p>This is useful if you wish to have multiple status or msgs windows, one
|
|
for each server. Here's how to do them (repeat for each server)</p>
|
|
|
|
<pre>
|
|
/WINDOW NEW HIDE
|
|
/WINDOW NAME (status)
|
|
/WINDOW LEVEL ALL -MSGS
|
|
/WINDOW SERVER -sticky ircnet
|
|
|
|
/WINDOW NEW HIDE
|
|
/WINDOW NAME (msgs)
|
|
/WINDOW LEVEL MSGS
|
|
/WINDOW SERVER -sticky ircnet
|
|
</pre>
|
|
|
|
<h3><a id="c7">7. /LASTLOG and jumping around in scrollback</a></h3>
|
|
|
|
<p>/LASTLOG command can be used for searching texts in scrollback
|
|
buffer. Simplest usages are</p>
|
|
|
|
<pre>
|
|
/LASTLOG word - print all lines with "word" in them
|
|
/LASTLOG word 10 - print last 10 occurances of "word"
|
|
/LASTLOG -topics - print all topic changes
|
|
</pre>
|
|
|
|
<p>If there's more than 1000 lines to be printed, irssi thinks that you
|
|
probably made some mistake and won't print them without -force option.
|
|
If you want to save the full lastlog to file, use</p>
|
|
|
|
<pre>
|
|
/LASTLOG -file ~/irc.log
|
|
</pre>
|
|
|
|
<p>With -file option you don't need -force even if there's more than 1000
|
|
lines. /LASTLOG has a lot of other options too, see /HELP lastlog for
|
|
details.</p>
|
|
|
|
<p>Once you've found the lines you were interested in, you might want
|
|
to check the discussion around them. Irssi has /SCROLLBACK (or alias
|
|
/SB) command for jumping around in scrollback buffer. Since /LASTLOG
|
|
prints the timestamp when the message was originally printed, you can
|
|
use /SB GOTO hh:mm to jump directly there. To get back to the bottom of
|
|
scrollback, use /SB END command.</p>
|
|
|
|
|
|
<h3><a id="c8">8. Logging</a></h3>
|
|
|
|
<p>Irssi can automatically log important messages when you're set away
|
|
(/AWAY reason). When you set yourself unaway (/AWAY), the new messages
|
|
in away log are printed to screen. You can configure it with:</p>
|
|
|
|
<pre>
|
|
/SET awaylog_level MSGS HILIGHT - Specifies what messages to log
|
|
/SET awaylog_file ~/.irssi/away.log - Specifies the file to use
|
|
</pre>
|
|
|
|
<p>Easiest way to start logging with Irssi is to use autologging. With it
|
|
Irssi logs all channels and private messages to specified directory.
|
|
You can turn it on with</p>
|
|
|
|
<pre>
|
|
/SET autolog ON
|
|
</pre>
|
|
|
|
<p>By default it logs pretty much everything execept CTCPS or CRAP
|
|
(/WHOIS requests, etc). You can specify the logging level yourself with</p>
|
|
|
|
<pre>
|
|
/SET autolog_level ALL -CRAP -CLIENTCRAP -CTCPS (this is the default)
|
|
</pre>
|
|
|
|
<p>By default irssi logs to ~/irclogs/<servertag>/<target>.log.
|
|
You can change this with</p>
|
|
|
|
<pre>
|
|
/SET autolog_path ~/irclogs/$tag/$0.log (this is the default)
|
|
</pre>
|
|
|
|
<p>The path is automatically created if it doesn't exist. $0 specifies
|
|
the target (channel/nick). You can make irssi automatically rotate the
|
|
logs by adding date/time formats to the file name. The formats are in
|
|
"man strftime" format. For example</p>
|
|
|
|
<pre>
|
|
/SET autolog_path ~/irclogs/%Y/$tag/$0.%m-%d.log
|
|
</pre>
|
|
|
|
<p>For logging only some specific channels or nicks, see /HELP log</p>
|
|
|
|
|
|
<h3><a id="c9">9. Changing keyboard bindings</a></h3>
|
|
|
|
<p>You can change any keyboard binding that terminal lets irssi know
|
|
about. It doesn't let irssi know everything, so for example
|
|
shift-backspace can't be bound unless you modify xterm resources
|
|
somehow.</p>
|
|
|
|
<p>/HELP bind tells pretty much everything there is to know about
|
|
keyboard bindings. However, there's the problem of how to bind some
|
|
non-standard keys. They might differ a bit with each terminal, so
|
|
you'll need to find out what exactly the keypress produces. Easiest
|
|
way to check that would be to see what it prints in "cat". Here's
|
|
an example for pressing F1 key:</p>
|
|
|
|
<pre>
|
|
[cras@hurina] ~% cat
|
|
^[OP
|
|
</pre>
|
|
|
|
<p>So in irssi you would use /BIND ^[OP /ECHO F1 pressed. If you use
|
|
multiple terminals which have different bindings for the key, it would
|
|
be better to use eg.:</p>
|
|
|
|
<pre>
|
|
/BIND ^[OP key F1
|
|
/BIND ^[11~ key F1
|
|
/BIND F1 /ECHO F1 pressed.
|
|
</pre>
|
|
|
|
<h3><a id="c10">10. Proxies and IRC bouncers</a></h3>
|
|
|
|
<p>Irssi supports connecting to IRC servers via a proxy. All server
|
|
connections are then made through it, and if you've set up everything
|
|
properly, you don't need to do any /QUOTE SERVER commands manually.</p>
|
|
|
|
<p>Here's an example: You have your bouncer (lets say, BNC or BNC-like)
|
|
listening in irc.bouncer.org port 5000. You want to use it to connect
|
|
to servers irc.dalnet and irc.efnet.org. First you'd need to setup the
|
|
bouncer:</p>
|
|
|
|
<pre>
|
|
/SET use_proxy ON
|
|
/SET proxy_address irc.bouncer.org
|
|
/SET proxy_port 5000
|
|
|
|
/SET proxy_password YOUR_BNC_PASSWORD_HERE
|
|
/SET -clear proxy_string
|
|
/SET proxy_string_after conn %s %d
|
|
</pre>
|
|
|
|
<p>Then you'll need to add the server connections. These are done
|
|
exactly as if you'd want to connect directly to them. Nothing special
|
|
about them:</p>
|
|
|
|
<pre>
|
|
/SERVER ADD -auto -ircnet dalnet irc.dal.net
|
|
/SERVER ADD -auto -ircnet efnet irc.efnet.org
|
|
</pre>
|
|
|
|
<p>With the proxy /SETs however, irssi now connects to those servers
|
|
through your BNC. All server connections are made through them so you
|
|
can just forget that your bouncer even exists.</p>
|
|
|
|
<p>If you don't want to use the proxy for some reason, there's -noproxy
|
|
option which you can give to /SERVER and /SERVER ADD commands.</p>
|
|
|
|
<p><strong>Proxy specific settings:</strong></p>
|
|
|
|
<p>All proxies have these settings in common:</p>
|
|
|
|
<pre>
|
|
/SET use_proxy ON
|
|
/SET proxy_address <Proxy host address>
|
|
/SET proxy_port <Proxy port>
|
|
</pre>
|
|
|
|
<p><strong>HTTP proxy</strong></p>
|
|
|
|
<p>Use these settings with HTTP proxies:</p>
|
|
|
|
<pre>
|
|
/SET -clear proxy_password
|
|
/EVAL SET proxy_string CONNECT %s:%d\n\n
|
|
</pre>
|
|
|
|
<p><strong>BNC</strong></p>
|
|
|
|
<pre>
|
|
/SET proxy_password your_pass
|
|
/SET -clear proxy_string
|
|
/SET proxy_string_after conn %s %d
|
|
</pre>
|
|
|
|
<p><strong>dircproxy</strong></p>
|
|
|
|
<p>dircproxy separates the server connections by passwords. So, if you
|
|
for example have ircnet connection with password ircpass and
|
|
openprojects connection with opnpass, you would do something like
|
|
this:</p>
|
|
|
|
<pre>
|
|
/SET -clear proxy_password
|
|
/SET -clear proxy_string
|
|
|
|
/SERVER ADD -auto -ircnet ircnet fake.ircnet 6667 ircpass
|
|
/SERVER ADD -auto -ircnet opn fake.opn 6667 opnpass
|
|
</pre>
|
|
|
|
<p>The server name and port you give isn't used anywhere, so you can
|
|
put anything you want in there.</p>
|
|
|
|
<p><strong>psyBNC</strong></p>
|
|
|
|
<p>psyBNC has internal support for multiple servers. However, it could
|
|
be a bit annoying to use, and some people just use different users for
|
|
connecting to different servers. You can manage this in a bit same way
|
|
as with dircproxy, by creating fake connections:</p>
|
|
|
|
<pre>
|
|
/SET -clear proxy_password
|
|
/SET -clear proxy_string
|
|
|
|
/IRCNET ADD -user ircnetuser ircnet
|
|
/SERVER ADD -auto -ircnet ircnet fake.ircnet 6667 ircpass
|
|
/IRCNET ADD -user opnuser opn
|
|
/SERVER ADD -auto -ircnet opn fake.opn 6667 opnpass
|
|
</pre>
|
|
|
|
<p>So, you'll specify the usernames with /IRCNET ADD command, and the
|
|
user's password with /SERVER ADD.</p>
|
|
|
|
<p><strong>Irssi proxy</strong></p>
|
|
|
|
<p>Irssi contains it's own proxy which you can build giving
|
|
<strong>--with-proxy</strong> option to configure. You'll still need to run
|
|
irssi in a screen to use it though.</p>
|
|
|
|
<p>Irssi proxy is a bit different than most proxies, normally proxies create
|
|
a new connection to IRC server when you connect to it, but with irssi proxy
|
|
all the clients use the same IRC server connection (a bit like how screen -x
|
|
works).</p>
|
|
|
|
<p>Irssi proxy supports sharing multiple server connections in different
|
|
ports, like you can share ircnet in port 2777 and efnet in port 2778.</p>
|
|
|
|
<p>Usage in proxy side:</p>
|
|
|
|
<pre>
|
|
/LOAD proxy
|
|
/SET irssiproxy_password <password>
|
|
/SET irssiproxy_ports <ircnet>=<port> ... (eg. ircnet=2777 efnet=2778)
|
|
</pre>
|
|
|
|
<p><strong>NOTE</strong>: you <strong>MUST</strong> add all the servers you
|
|
are using to server and ircnet lists with /SERVER ADD and /IRCNET ADD.
|
|
..Except if you really don't want to for some reason, and you only use
|
|
one server connection, you may simply set:</p>
|
|
|
|
<pre>
|
|
/SET irssiproxy_ports *=2777
|
|
</pre>
|
|
|
|
<p>Usage in client side:</p>
|
|
|
|
<p>Just connect to the irssi proxy like it is a normal server with password
|
|
specified in /SET irssiproxy_password. For example:</p>
|
|
|
|
<pre>
|
|
/SERVER ADD -ircnet ircnet my.irssi-proxy.org 2777 secret
|
|
/SERVER ADD -ircnet efnet my.irssi-proxy.org 2778 secret
|
|
</pre>
|
|
|
|
<p>Irssi proxy works fine with other IRC clients as well.</p>
|
|
|
|
<p><strong>SOCKS</strong></p>
|
|
|
|
Irssi can be compiled with socks support (<strong>--with-socks</strong>
|
|
option to configure), but I don't really know how it works, if at all. /SET
|
|
proxy settings don't have anything to do with socks however.
|
|
|
|
<p><strong>Others</strong></p>
|
|
|
|
<p>IRC bouncers usually work like IRC servers, and want a password. You can
|
|
give it with:</p>
|
|
|
|
<pre>
|
|
/SET proxy_password <password>
|
|
</pre>
|
|
|
|
<p>Irssi's defaults for connect strings are</p>
|
|
|
|
<pre>
|
|
/SET proxy_string CONNECT %s %d
|
|
/SET proxy_string_after
|
|
</pre>
|
|
|
|
<p>The proxy_string is sent before NICK/USER commands, the
|
|
proxy_string_after is sent after them. %s and %d can be used with both
|
|
of them.</p>
|
|
|
|
<h3><a id="c11">11. Irssi's settings</a></h3>
|
|
|
|
<p>You probably don't like Irssi's default settings. I don't like them.
|
|
But I'm still convinced that they're pretty good defaults. Here's some
|
|
of them you might want to change (the default value is shown):</p>
|
|
|
|
<p><strong>Queries</strong></p>
|
|
|
|
<dl>
|
|
<dt>/SET autocreate_own_query ON</dt>
|
|
<dd>Should new query window be created when you send message to someone
|
|
(with /msg).</dd>
|
|
|
|
<dt>/SET autocreate_query_level MSGS</dt>
|
|
<dd>New query window should be created when receiving messages with
|
|
this level. MSGS, DCCMSGS and NOTICES levels work currently. You can
|
|
disable this with /SET -clear autocrate_query_level.</dd>
|
|
|
|
<dt>/SET autoclose_query 0</dt>
|
|
<dd>Query windows can be automatically closed after certain time of
|
|
inactivity. Queries with unread messages aren't closed and active
|
|
window is neither never closed. The value is given in seconds.</dd>
|
|
</dl>
|
|
|
|
<p><strong>Windows</strong></p>
|
|
|
|
<dl>
|
|
<dt>/SET use_msgs_window OFF</dt>
|
|
<dd>Create messages window at startup. All private messages go to this
|
|
window. This only makes sense if you've disabled automatic query
|
|
windows. Message window can also be created manually with /WINDOW LEVEL
|
|
MSGS, /WINDOW NAME (msgs).</dd>
|
|
|
|
<dt>/SET use_status_window ON</dt>
|
|
<dd>Create status window at startup. All messages that don't really
|
|
have better place go here, like all /WHOIS replies etc. Status window
|
|
can also be created manually with /WINDOW LEVEL ALL -MSGS, /WINDOW NAME
|
|
(status).</dd>
|
|
|
|
<dt>/SET autocreate_windows ON</dt>
|
|
<dd>Should we create new windows for new window items or just place
|
|
everything in one window</dd>
|
|
|
|
<dt>/SET autoclose_windows ON</dt>
|
|
<dd>Should window be automatically closed when the last item in them is
|
|
removed (ie. /PART, /UNQUERY).</dd>
|
|
|
|
<dt>/SET reuse_unused_windows OFF</dt>
|
|
<dd>When finding where to place new window item (channel, query) Irssi
|
|
first tries to use already existing empty windows. If this is set ON,
|
|
new window will always be created for all window items. This setting is
|
|
ignored if autoclose_windows is set ON.</dd>
|
|
|
|
<dt>/SET window_auto_change OFF</dt>
|
|
<dd>Should Irssi automatically change to automatically created windows
|
|
- usually queries when someone sends you a message. To prevent
|
|
accidentally sending text meant to some other channel/nick, Irssi
|
|
clears the input buffer when changing the window. The text is still in
|
|
scrollback buffer, you can get it back with pressing arrow up key.</dd>
|
|
|
|
<dt>/SET print_active_channel OFF</dt>
|
|
<dd>When you keep more than one channel in same window, Irssi prints
|
|
the messages coming to active channel as "<nick> text"
|
|
and other channels as "<nick:channel> text". If this
|
|
setting is set ON, the messages to active channels are also printed in
|
|
the latter way.</dd>
|
|
|
|
<dt>/SET window_history OFF</dt>
|
|
<dd>Should command history be kept separate for each window.</dd>
|
|
</dl>
|
|
|
|
|
|
<p><strong>User information</strong></p>
|
|
|
|
<dl>
|
|
<dt>/SET nick</dt>
|
|
<dd>Your nick name</dd>
|
|
|
|
<dt>/SET alternate_nick</dt>
|
|
<dd>Your alternate nick.</dd>
|
|
|
|
<dt>/SET user_name</dt>
|
|
<dd>Your username, if you have ident enabled this doesn't affect
|
|
anything</dd>
|
|
|
|
<dt>/SET real_name</dt>
|
|
<dd>Your real name.</dd>
|
|
</dl>
|
|
|
|
|
|
<p><strong>Server information</strong></p>
|
|
|
|
<dl>
|
|
<dt>/SET skip_motd OFF</dt>
|
|
<dd>Should we hide server's MOTD (Message Of The Day).</dd>
|
|
|
|
<dt>/SET server_reconnect_time 300</dt>
|
|
<dd>Seconds to wait before connecting to same server again. Don't set
|
|
this too low since it usually doesn't help at all - if the host is
|
|
down, the few extra minutes of waiting won't hurt much.</dd>
|
|
|
|
<dt>/SET lag_max_before_disconnect 300</dt>
|
|
<dd>Maximum server lag in seconds before disconnecting and trying to
|
|
reconnect. This happens mostly only when network breaks between you and
|
|
IRC server.</dd>
|
|
</dl>
|
|
|
|
|
|
<p><strong>Appearance</strong></p>
|
|
|
|
<dl>
|
|
<dt>/SET timestamps ON</dt>
|
|
<dd>Show timestamps before each message.</dd>
|
|
|
|
<dt>/SET hide_text_style OFF</dt>
|
|
<dd>Hide all bolds, underlines, MIRC colors, etc.</dd>
|
|
|
|
<dt>/SET show_nickmode ON</dt>
|
|
<dd>Show the nick's mode before nick in channels, ie. ops have
|
|
<@nick>, voices <+nick> and others < nick></dd>
|
|
|
|
<dt>/SET show_nickmode_empty ON</dt>
|
|
<dd>If the nick doesn't have a mode, use one space. ie. ON:
|
|
< nick>, OFF: <nick></dd>
|
|
|
|
<dt>/SET show_quit_once OFF</dt>
|
|
<dd>Show quit message only once in some of the channel windows the
|
|
nick was in instead of in all windows.</dd>
|
|
|
|
<dt>/SET lag_min_show 100</dt>
|
|
<dd>Show the server lag in status bar if it's bigger than this, the
|
|
unit is 1/100 of seconds (ie. the default value of 100 = 1 second).</dd>
|
|
|
|
<dt>/SET indent 10</dt>
|
|
<dd>When lines are longer than screen width they have to be split to
|
|
multiple lines. This specifies how much space to put at the beginning
|
|
of the line before the text begins. This can be overridden in text
|
|
formats with %| format.</dd>
|
|
|
|
<dt>/SET activity_hide_targets</dt>
|
|
<dd>If you don't want to see window activity in some certain channels
|
|
or queries, list them here. For example "#boringchannel =bot1 =bot2".
|
|
If any highlighted text or message for you appears in that window, this
|
|
setting is ignored and the activity is shown.</dd>
|
|
</dl>
|
|
|
|
<p><strong>Nick completion</strong></p>
|
|
|
|
<dl>
|
|
<dt>/SET completion_auto OFF</dt>
|
|
<dd>Automatically complete the nick if line begins with start of nick
|
|
and the completion character. Learn to use the tab-completion instead,
|
|
it's a lot better ;)</dd>
|
|
|
|
<dt>/SET completion_char :</dt>
|
|
<dd>Completion character to use.</dd>
|
|
</dl>
|
|
|
|
<h3><a id="c12">12. Statusbar</a></h3>
|
|
|
|
<p><strong>/STATUSBAR</strong> displays a list of statusbars:</p>
|
|
|
|
<pre>
|
|
Name Type Placement Position Visible
|
|
window window bottom 0 always
|
|
window_inact window bottom 1 inactive
|
|
prompt root bottom 100 always
|
|
topic root top 1 always
|
|
</pre>
|
|
|
|
<p><strong>/STATUSBAR <name></strong> prints the statusbar
|
|
settings and it's items. <strong>/STATUSBAR <name>
|
|
ENABLE|DISABLE</strong> enables/disables the statusbar.
|
|
<strong>/STATUSBAR <name> RESET</strong> resets the statusbar to
|
|
it's default settings, or if the statusbar was created by you, it will be
|
|
removed.</p>
|
|
|
|
<p>Type can be window or root, meaning if the statusbar should be
|
|
created for each split window, or just once. Placement can be top or
|
|
bottom. Position is a number, the higher the value the lower in screen
|
|
it is. Visible can be always, active or inactive. Active/inactive is
|
|
useful only with split windows, one split window is active and the rest
|
|
are inactive. These settings can be changed with:</p>
|
|
|
|
<ul>
|
|
<li>STATUSBAR <name> TYPE window|root</li>
|
|
<li>STATUSBAR <name> PLACEMENT top|bottom</li>
|
|
<li>STATUSBAR <name> POSITION <num></li>
|
|
<li>STATUSBAR <name> VISIBLE always|active|inactive</li>
|
|
</ul>
|
|
|
|
<p>When loading a new statusbar scripts, you'll need to also specify
|
|
where you want to show it. Statusbar items can be modified with:</p>
|
|
|
|
<ul>
|
|
<li>10:52 STATUSBAR <name> ADD [-before | -after <item>] [-priority #] [-alignment left|right] <item></li>
|
|
<li>10:52 STATUSBAR <name> REMOVE <item></li>
|
|
</ul>
|
|
|
|
<p>The item name with statusbar scripts is usually same as the script's
|
|
name. Script's documentation should tell if this isn't the case. So, to
|
|
add mail.pl before the window activity item (see the list with
|
|
/STATUSBAR window), use: <strong>/STATUSBAR window ADD -before act
|
|
mail</strong>.</p>
|