X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Firssi%2Fdocs%2Fstartup-HOWTO.html;fp=apps%2Firssi%2Fdocs%2Fstartup-HOWTO.html;h=e0af3492013511476fad83598b33112b5c86f8b1;hb=23c5df1c8b0bfe539d3fa65802186e6e09e044aa;hp=0000000000000000000000000000000000000000;hpb=0f9738ce962b8498bbed0a75d5fb6fa127e3577f;p=silc.git diff --git a/apps/irssi/docs/startup-HOWTO.html b/apps/irssi/docs/startup-HOWTO.html new file mode 100644 index 00000000..e0af3492 --- /dev/null +++ b/apps/irssi/docs/startup-HOWTO.html @@ -0,0 +1,647 @@ +
Copyright (c) 2000-2001 by Timo Sirainen
+ + +Index with some FAQ questions that are answered in the chapter:
+ +These settings should give you pretty good defaults (the ones I use):
+ +I don't like automatic query windows, I don't like status window, I do +like msgs window where all messages go:
+ ++ /SET autocreate_own_query OFF + /SET autocreate_query_level DCCMSGS + /SET use_status_window OFF + /SET use_msgs_window ON ++ +
Disable automatic window closing when /PARTing channel or /UNQUERYing +query:
+ ++ /SET autoclose_windows OFF + /SET reuse_unused_windows ON ++ +
And example how to add servers:
+ +(openprojects network, identify with nickserv and wait for 2 seconds before +joining channels)
+ ++ /IRCNET ADD -autosendcmd "/^msg nickserv ident pass;wait -opn 2000" opn ++ +
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:
+ ++ /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 ++ +
Automatically join to channels after connected to server, send op request +to bot after joined to efnet/#irssi:
+ ++ /CHANNEL ADD -auto #irssi ircnet + /CHANNEL ADD -auto -bots *!*@bot@host.org -botcmd "/^msg $0 op pass" + #irssi efnet ++ +
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:
+ ++ Meta-1, Meta-2, .. Meta-0 - Jump directly between windows 1-10 + Meta-q .. Meta-p - Jump directly between windows 11-20 + /WINDOW <number> - Jump to any window with specified number + Ctrl-P, Ctrl-N - Jump to previous / next window ++ +
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):
+ ++ XTerm*eightBitInput: false + XTerm*metaSendsEscape: true ++ +
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:
+ ++ rxvt*modifier: alt ++ +
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.
+ +Many windows SSH clients also don't allow usage of ALT. One excellent +client that does allow is putty, you can download it from + +http://www.chiark.greenend.org.uk/~sgtatham/putty/.
+ +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:
+ ++ /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 ++ +
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:
+ ++ 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 ++ +
When you are in win#1 and press ALT-6, irssi jumps to split window +#3 and moves the efnet/#channel2 the active window.
+ +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
+ ++ /SET autostick_split_windows OFF ++ +
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
+ ++ /SET autocreate_windows OFF ++ +
If you want to group only some channels or queries in one window, +use
+ ++ /JOIN -window #channel + /QUERY -window nick ++ +
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.
+ +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.
+ +After that you need to add your servers. For example:
+ ++ /SERVER ADD -auto -ircnet ircnet irc.kpnqwest.fi 6667 + /SERVER ADD -auto -ircnet worknet irc.mycompany.com 6667 password ++ +
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.
+ +And finally channels:
+ ++ /CHANNEL ADD -auto -bots *!*@bot@host.org -botcmd "/^msg $0 op pass" + #irssi efnet + /CHANNEL ADD -auto #secret ircnet password ++ +
-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.
+ + +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:
+ ++ /WINDOW MOVE LEFT/RIGHT/number - move window elsewhere + /WINDOW ITEM MOVE <number>|<name> - move channel/query to another window ++ +
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.
+ +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.
+ + +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
+ ++ /SET use_status_window OFF ++ +
This doesn't have any effect until you restart irssi. If you want to +remove it immediately, just /WINDOW CLOSE it.
+ +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:
+ ++ /SET use_msgs_window ON + /SET autocreate_query_level DCCMSGS (or if you don't want queries to + dcc chats either, say NONE) ++ +
use_msgs_window either doesn't have any effect until restarting +irssi. To create it immediately say:
+ ++ /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 ++ +
Note that neither use_msgs_window nor use_status_window have any +effect at all if /LAYOUT SAVE has been used.
+ +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
+ ++ /HELP levels ++ +
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.
+ + +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:
+ ++ /CONNECT irc.server.org ++ +
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:
+ ++ -!- IRCNet: irc.telia.fi:6667 (IRCNet) + -!- OPN: tolkien.openprojects.net:6667 (OPN) + -!- RECON-1: 192.168.0.1:6667 () (02:59 left before reconnecting) ++ +
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.
+ +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.
+ +To disconnect one of the servers, or to stop irssi from +reconnecting, use
+ ++ /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 ++ +
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
+ ++ /WINDOW SERVER tag - set server "tag" active + Ctrl-X - set the next server in list active ++ +
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.
+ +Several commands also accept -servertag option to specify which server +it should use:
+ ++ /MSG -tag nick message + /JOIN -tag #channel + /QUERY -tag nick ++ +
/MSG tab completion also automatically adds the -tag option when +nick isn't in active server.
+ +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
+ ++ /WINDOW SERVER -sticky tag ++ +
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)
+ ++ /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 ++ +
/LASTLOG command can be used for searching texts in scrollback +buffer. Simplest usages are
+ ++ /LASTLOG word - print all lines with "word" in them + /LASTLOG word 10 - print last 10 occurances of "word" + /LASTLOG -topics - print all topic changes ++ +
If there's more lines to be printed than 1000, irssi doesn't 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
+ ++ /LASTLOG -file ~/irc.log ++ +
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.
+ +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.
+ + +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:
+ ++ /SET awaylog_level MSGS HILIGHT - Specifies what messages to log + /SET awaylog_file ~/.irssi/away.log - Specifies the file to use ++ +
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
+ ++ /SET autolog ON ++ +
By default it logs pretty much everything execept CTCPS or CRAP +(/WHOIS requests, etc). You can specify the logging level yourself with
+ ++ /SET autolog_level ALL -CRAP -CLIENTCRAP -CTCPS (this is the default) ++ +
By default irssi logs to ~/irclogs/<servertag>/<target>.log. +You can change this with
+ ++ /SET autolog_path ~/irclogs/$tag/$0.log (this is the default) ++ +
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
+ ++ /SET autolog_path = ~/irclogs/%Y/$tag/$0.%m-%d.log ++ +
For logging only some specific channels or nicks, see /HELP log
+ + +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):
+ +Queries
+ +Windows
+ +User information
+ +Server information
+ +Appearance
+ +Nick completion
+ +