April 2017

S M T W T F S
      1
2345678
910111213 1415
16171819 2021 22
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Thursday, April 19th, 2007 11:37 am

As you probably already know, I tend to prefer to do text-based things (email, chat, BBSing, etc.) using a program which resides in a terminal window rather than something with a lot of GUI around it. There are a few reasons for this, including that they tend to have better support for a keyboard-driven interface rather than requiring the mouse for some actions. The main reason these days has to do with my having (finally) discovered screen.

Screen is a beautiful program which lets you treat one terminal window as as many as you like, and also lets you detach from the real terminal and still keep all those applications running in their, errr, pseudo-pseudo-terminals. Which means I can have my im client (if it runs in the terminal) run on my home computer, and attach to it from anywhere with an internet connection, so I never have to log out. And I get the whole thing, the real UI for the chat program, because I'm really attached to it, not just some hacked-together command-line remote control interface.

My one complaint, however, is that I've never found a fully multi-network IM client for the terminal that I don't hate. See, I have accounts on AIM, Yahoo, ICQ, and GTalk, and I have stubborn friends (or friends with stubborn employers) who won't all switch over to the same network. naim is pretty nice, but it doesn't support Jabber or Yahoo. centericq has good support, but I find the UI almost completely unusable (notably, it has a truly atrocious history window; but it also wastes screen real-estate like there's no tomorrow. I'm in 80x25 here at work.). Everything else I've tried similarly either has a UI catastrophe or doesn't support the networks I need to be on (AIM via TOC or Oscar and GTalk via Jabber are required).

This week, I found BitlBee. It's a slick little gateway which acts as an IRC server on one end, and multiplexed clients speaking any of Jabber, Oscar, MSN, and Yahoo on the other end. So you set it up, hook up your favorite IRC client to it (I tested it out using naim; it speaks TOC and IRC), identify yourself to "root", tell it to log your accounts in, and you can talk to all your buddies with /msg or /query.

This is where I admit that, despite all my long years on the Internet, and all my time spent in various forms of chat, I have almost no IRC experience. It's kind of sad, really. So I thought maybe this would be a good time to learn. After all, I was asking a question about Citadel, and the project lead suggested I ask over on #citadel. So I guess now's the time. So, if all but one of my IM things are going to go through IRC, I figured I might as well try having them all go through it and using a client designed for IRC, rather than all but one and using a client designed for AIM.

I'm currently playing with irssi. I'm open to alternatives, but it does seem like it will meet my needs. Featureful but not a mess, extensible using Perl, some good scripts already out there. And it'll get me playing with IRC a bit, at least lurking in support channels for projects I'm semi-involved in.

Irssi was pretty straightforward to set up (the Startup-HOWTO is pretty good) and hook up to BitlBee. It looks something like this:

] /NETWORK ADD BitlBee
] /SERVER ADD -auto -network BitlBee localhost 6667
] /connect BitlBee
] /join &bitlbee
] register <password>
] account add [...]
] save
] /NETWORK ADD -autosendcmd "/^msg root identify <password>" BitlBee

(Note: This isn't a complete HOWTO. Both programs have pretty decent documentation linked off their websites.)

So that's cool. I'm now on all my different IM networks, all through a single program. If I /query somebody, I'll get a dedicated window to talk to them. I get a little notification if somebody's talking to me and I'm not looking at them. But to find out who's online, I need to either do a /names command on the BitlBee connection, or send a "blist" to root (or type it into the &bitlbee channel). What a pain. I miss my buddy list in the right column of my client. Fortunately, someone wrote a nifty (albeit possibly rather hacky) script to extend irssi to do almost exactly what I want. It's called nicklist, and it's available from the irssi scripts respository.

I said almost exactly what I want. It uses a hack to pass control codes to screen to float a list on the right side of the window. The list contains the names of all the people in the current channel, sorted by mode then alpha. (BitlBee conveniently used voice/unvoice to mark whether somebody is present or away, so that's kind of cool.) So when I'm sitting in the &bitlbee control channel, I see a list of who's online. When I'm talking to someone, I have a black box there. Not quite what I'm looking for.

Solution: I extended nicklist.pl. I added a setting called "nicklist_perm_channels", which is a space separated list of colon separated server-key/channel pairs. These channels will always have the list of people in them displayed in the nicklist, in the order specified. The list for the current channel goes in front. There's a separator (which I need to prettify) between the lists, and, of course, if you're in the channel for a permanent channel it's not repeated (it goes at the top). So now everywhere I go in irssi, a list of who's online on my IM networks follows me around. Much improved. I did lose Buddy Groups on AIM, though.

Where do I go from here? Well, I think I'm going to play around with the irssi/bitlbee combination for a while. If I decide it's more annoying than naim/bitlbee I may switch back (that was still a *huge* improvement over naim + centericq). If somebody has a suggestion for a different irc client that I might prefer, I might check it out. But in the meantime, I'm going to play around with learning my way around this whole IRC thing better. And I might clean up my patch to nicklist.pl and put it out there, once I learn the usual way for doing such things, which has also mysteriously escaped me until now.

HOWTO: Connect to Google Talk with Bitlbee

Tags:

Reply

If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org