Now my setup for
ii is pretty much stable.
I basically use an auth shell script which looks something like:
#!/bin/sh
ii -s irc.freenode.net -n nion -f "Nico Golde" &
ii -s irc.oftc.net -n nion -f "Nico Golde" &
ii -s irc.gamesurge.net -n nion &
sleep 10
echo "/m nickserv identify notmypwd"> irc.freenode.net/in
echo "/m nickserv identify notmypwd"> irc.oftc.net/in
echo "/j #debian.de"> irc.oftc.net/in
echo "/j #wmii"> irc.oftc.net/in
....The next thing to do ist the use of
multitail which allows me to see more than
one channel out file in my window. The cool thing is that it is very flexible, I can use my own color definitions, split it vertical,horizontal, mergen windows etc. (what irssi can't do ; ). It even can use external programs to show the content so you are able to use for example
turbotail (which will be ported to inotify) or you can specify external filter
programs (/ignore is not needed as a feature, use regex).
For this add a .multitailrc file to your home which can look like this:
colorscheme:irc
cs_re:green:.*nion.*
cs_re:yellow:.*http:\/\/.*
cs_re:cyan:.*has joined #.*
cs_re:blue:.*changed mode.*
cs_re:yellow:Did.not
titlebar:%m %u@%h %f (%t) [%l]
tail:/usr/bin/turbotailNow go to your irc directory and start multitail with:
multitail -CS irc -f irc.freenode.net/#grml/out -f irc.oftc.net/#debian.de/out -f irc.oftc.net/#wmii/out -f irc.oftc.net/#ii/out .....
To type in irc sessions I use my favorite editor
vim.
I start it in ~/irc/irc.oftc.net and have the following mappings to write to channels i am always in:
map i1 :.w >> \#ii/in<cr>dd
map w1 :.w >> \#wmii/in<cr>dd
map g1 :.w >> ../irc.freenode.net/\#grml/in<cr>dd
map f1 :.w >> ../irc.freenode.net/\#fama/in<cr>dd
map d1 :.w >> \#debian.de/in<cr>ddNow press ESCi1 to write to ii channel.
If you remove the dds at the end of the lines you will be also able to use nick completion with ctrl-p if you start a new line in vim
and you typed the nick before.
As some of you might noticed ii doesn't support this ctcp crap. But some people really want to use this /me is fucking crazy feature. To
use it you only have to send a special string to the in FIFO file.
So just add
imap /me <C-V><C-A>ACTION to your vimrc and use /me as usual.
To have both the editor and the pager in one window you can use
screen which is fairly flexible but sucks because it cant reattach split screens. The other possibility is to use
splitvt which also sucks because it cant handle color (but split is not broken).
I decided to use screen. I always have multitail running in window 2 and vim in window 3.
Next thing I did is to add
bind f screen bash -c "screen -X split;screen -X resize +32; screen -X select 2; screen -X focus; screen -X select 3;exit"mapping to screen which splits and selects the right places to chat. This is not the non-plus-ultra but a good compromise.
Thats how my configuration looks now (click to enlarge):
This has the nice side effect that I see the same irc client on multiple hosts at the same time without reattaching any screen or use
a new nick. For those who had not seen another cool thing, yogan wrote a small php script which uses ii:
http://yogan.meinungsverstaerker.de/phpii/ii/If I have the time I will write a small bot with a shell script in the next time.
So improvements are welcome, graphical user interfaces for ii too
BTW: ii-1.0 is near, check out mercurial repository with:
hg clone http://suckless.org/cgi-bin/hgwebdir.cgi/ii