ConfigurationNOTE: this how to makes use of features available in Irssi 0.8.10-rc5 (20041018). Some features may not be available in your version.
An important thing to remember is that all of Irssi's settings are tab completable. That is, you can type
/set ni <tab>and you can tab through all of the options that start with 'ni'. This is very handy if you forget a setting, or don't know what's available. Also, typing a setting without a variable will tell you what the current setting is.
/hilightfor example, will show you what current hilights you have set.
Irssi saves its files to
~/.irssiYour config file is
~/.irssi/configYou can edit it by hand but it's advisable to close Irssi first. Whenever you change a setting in Irssi be sure to
/saveso it writes to the config file.
First you'll want to set your nick, username, and real name:
/set nick somenickIf you want to hilight your nick whenever someone mentions it (where 'nick' is your nick):
/set user_name someuser
/set real_name Bob User
/hilight nickIrssi has a network 'alias' that is used to connect to servers. You specify servers that fit under a certain network and then you connect to that network. To add a network and then autojoin it sending your ident password, do as follows (where 'freenode' is your network and 'yourpassword' is your ident password):
/network add -autosendcmd "/^msg nickserv ident yourpassword;wait -freenode 2000" freenodeIf you are using Irssi 0.8.9 (20031210) the commands are a bit different:
/server add -auto -network freenode irc.freenode.net 6667
/ircnet add -autosendcmd "/^msg nickserv ident yourpassword;wait -freenode 2000" freenodeNow you will be auto connecting to freenode on start. Next, set some auto connecting channels (where '#channel' is your channel and 'freenode' is your network):
/server add -auto -ircnet freenode irc.freenode.net 6667
/channel add -auto #channel freenodeWhen you first start Irssi, you see a blank window. Type
/connect freenode(if you're not autojoining) to connect to your server. (replace freenode with your server). Then
/join #channelWhen you're in multiple channels, you can switch back and forth by pressing
ctrl+por, Irssi assigns a number to each channel when you join. You can simply hit (not hold)
esc, then the number that corresponds with your channel. It feels a bit odd at first, but once you master it it's really an effective method.
In Irssi 0.8.10-rc5 (20041018) there are three settings to enable utf-8:
/set recode_fallback utf-8In Irssi 0.8.9 (20031210) the setting is just:
/set recode_out_default_charset utf-8
/set term_charset utf-8
/set term_type utf-8A restart of Irssi is required and then if you're using screen (you know if you are), you need to screen -U to enable utf-8. Also be sure your terminal program is supporting utf-8.
Window managementAs stated above, switching windows in Irssi takes a while to feel second nature. As you become more comfortable with it and more of a power user, you may wish to explore Irssi's powerful window management. You can have split windows in Irssi showing a channel on top, and a channel on bottom, or even multiple channels. Windows are manipulated with the
/windowcommand. Split and sticky windows take a lot of experience to get used to, but they can be very rewarding. Here are a few examples of various ways to view your channels:
First you have your normal view, with just one channel. The next view is split 2 ways. The bottom channel is sticky, meaning it always stays as that channel. The top one is the one that changes when you change channels with the commands. And then finally we have the 3 way split. This is useful for monitoring a few channels and not hindering your normal channel usage up top. As with the 2 split, the bottom two windows are sticky and only the top window changes. Again, split windows take a lot of getting used to, but they can be very powerful. In Irssi, type
/help windowand explore the possibilities. Also, listed below in the alias section, I have some quick aliases for creating my 2 split and 3 split windows. see:
ThemesAs you saw above, Irssi can be themed with various colors and styles. The default theme is fine, but I prefer the red color and my own styling, so I made my own. There are hundreds of themes available for you can try. Or feel free to download my theme.
AliasesOne of the awesome features of Irssi is the ability to create aliases. Any command, phrase, or stream of commands can be aliased and executed quickly. The format is:
/alias alias_name commandAliases can have multiple commands in the format:
/alias alias_name command1;command2;command3Following are some very useful aliases that save me time and effort every day.
-creates a split with window 9 in the bottom and a 22 line window 3 on top.
/alias twosplit window 9;window show 3;window size 22;window 9;window stick-creates a 10 line window 9 on bottom, window 8 in middle, and a 22 line window 3 on top.
/alias threesplit window 9;window show 8;window 9;window size 10;window 8;window show 3;window size 22;window 8;window stick;window 9;window stick-unsticks all windows.
/alias unstick window goto 1;window stick off;window goto 2;window stick off;window goto 3;window stick off;window goto 4;window stick off;window goto 5;window stick off;window goto 6;window stick off;window goto 7;window stick off;window goto 8;window stick off;window goto 9;window stick off;window goto 10;window stick off;window goto 11;window stick off;window goto 12;window stick off;window goto 13;window stick off-requires 'unstick' alias; returns all splits to normal.
/alias normal unstick;window hide;window hide-messages chanserv for op in current channel.
/alias cs msg chanserv op $C-requires 'figlet' binary; prints message in 'slant' font to window.
/alias figlet exec - -o figlet -f slant $0--requires 'fortune' binary; prints fortune to window.
/alias fortune exec - -o fortune -s-prints a link for google search to channel. Format: /google var1+var2
/alias google say http://www.google.com/search?hl=en&q=$0&btnG=Google+Search-simple ease of typing alias.
/alias hide window hide-prints message to the channels in the alias. Format: /msgall hey what's up?
/alias msgall msg #adium $0-;msg #xfactor $0-;msg #selcouth $0--requires 'timer.pl' script; creates a timed +q and prints message to channel. format: /qt <time in seconds> <nick> (credit to Hanji)
/alias qt mode +q $1;say $1: you've been silenced for $0 seconds;timer add uq$1 $0 1 /mode -q $1-prints date into channel.
/alias thedate exec - -o date-prints a link for an urbandictionary search to window. Format /urban var1
/alias urban say http://www.urbandictionary.com/define.php?term=$0-notices ops in current channel
/alias onotice notice @$C $0--ops you in current channel (if you have access)
/alias opme ^msg chanserv op $C-starts a query within the current window with chanserv
/alias mcs wquery chanserv $0--starts a query within the current window with nickserv
/alias mns wquery nickserv $0--changes channels 11-20 to dvorak key bindings
/alias dvorak bind -delete meta-q;bind -delete meta-w;bind -delete meta-e;bind -delete meta-r;bind -delete meta-t;bind -delete meta-y;bind -delete meta-u;bind -delete meta-i;bind -delete meta-o;bind -delete meta-p;bind -delete meta-f;bind meta-' change_window 11;bind meta-, change_window 12;bind meta-. change_window 13;bind meta-p change_window 14;bind meta-y change_window 15;bind meta-f change_window 16;bind meta-g change_window 17;bind meta-c change_window 18;bind meta-r change_window 19;bind meta-l change_window 20-changes channels 11-20 [back] to qwerty key bindings
/alias qwerty bind -delete meta-';bind -delete meta-,;bind -delete meta-.;bind -delete meta-p;bind -delete meta-y;bind -delete meta-f;bind -delete meta-g;bind -delete meta-c;bind -delete meta-r;bind -delete meta-l;bind meta-q change_window 11;bind meta-w change_window 12;bind meta-e change_window 13;bind meta-r change_window 14;bind meta-t change_window 15;bind meta-y change_window 16;bind meta-u change_window 17;bind meta-i change_window 18;bind meta-o change_window 19;bind meta-p change_window 20-this alias is very dirty, but does the job well. With the use of
/gone <some message>you can set yourself as away and any time someone mentions your nick (or messages you privately) on a new line with :, >, -, !, or , you will auto respond and message them your "away message". This will need a bit of tweaking as I have it set for 'selcouth' and 'sel'. Please note that you need the triggers.pl script and if you have any other triggers the
/backcommand might delete the wrong trigger. Correct as needed. (all one line)
/alias gone trigger add -all -modifiers 'i' -regexp '^(selcouth|sel)[-:>,!]' -command "msg \$N away: $0-";trigger add -privmsgs -modifiers 'i' -regexp '^' -command "msg \$N away: $0-";away $0-
/alias back trigger del 1;trigger del 1;away
ScriptsAnother wonderful feature of Irssi is its scripting power. Perl scripts can do tons of things in Irssi. Scripts are placed in
~/.irssi/scriptsand can be loaded by
/script load scriptnameor can be placed in your
~/.irssi/scripts/autorunfolder and will load on start. Some have help built in, others don't. Usually they take the format
/scriptnameto invoke. Following are a few that I use regularly.
http://scripts.irssi.org/scripts/autorejoin.pl - allows you to auto-rejoin a channel after being kicked. Really not a good idea in most channels but ok in some if you're just playing around.
http://scripts.irssi.org/scripts/hilightwin.pl - creates a 'highlight window' on startup. This window will take all new /msgs to you and from you, rather than creating a new window for each query with each user.
http://scripts.irssi.org/scripts/trigger.pl - useful for setting triggers for reactions. You can auto kick everytime someone says 'foo' for example.
http://scripts.irssi.org/scripts/openurl.pl - allows quick access to url's via /openurl # as they are printed to channel.
http://scripts.irssi.org/scripts/usercount.pl - adds a usercount to your statusbar. Also shows voices, ops, halfops, and normal users.
http://scripts.irssi.org/scripts/special_complete.pl - creates variables for special tab completion. If you type $topic <tab> in a channel, the topic will be auto-completed. very handy.
http://scripts.irssi.org/scripts/chanpeak.pl - keeps a record of channel peak users for each channel.
http://scripts.irssi.org/scripts/clones.pl - shows multiple masks in a channel.
http://scripts.irssi.org/scripts/bantime.pl - exactly like /bans, only this shows time in a more friendly format than seconds.
http://scripts.irssi.org/scripts/timer.pl - required for
/qtalias, allows for timed operations.
http://scripts.irssi.org/scripts/scriptassist.pl - manages scripts from irssi.org and can update all of your scripts, download updates, search for new scripts, etc. Very useful.
http://scripts.irssi.org/scripts/act.pl - clears action in all channels in the statusbar simply by
http://scripts.irssi.org/scripts/ignore_log.pl - creates a log of all messages received from /ignore'd nicks
http://scripts.irssi.org/scripts/ignoreoc.pl - ignores any nick that msgs you that is not in a channel with you. Gives them the option to send a prefix to message you, and adds them to a clear list when you msg back.
http://scripts.irssi.org/scripts/kicks.pl - adds humerous lines or whatever you want when you kick or ban someone rather than just using your nick as the reason. Create a
~/.irssi/kickreasons.defaultand then a
~/.irssi/kicks.confConfigure them as follows:
i don't like you.
you're bothering me
(one message on each line, as many as you like)
####Format is then
fortune `fortune -n 75 -s`
/k -foo <nick>(which will kick with a reason from the kickreasons.foo file) or
/k -fortune <nick>(which will kick with a fortune -n 75 -s as reason) or
/k <nick>(which will use a reason from the kickreasons.default file)
Irssi is a great IRC client and with a little bit of tweaking and learning it can be very powerful. Join #irssi on freenode or check out http://irssi.org for more info.
Last edited Monday, 11/07/05 at 2206:24