So, after having a pretty productive Fedora day yesterday (I cleaned up EPEL buildroot override tags/closed tickets, caught up on all my mailing lists and such, started in on some package reviews, helped people on IRC, etc) I decided to play around with some new IRC clients today.

I’m a long time xchat user, but I’ve been kind of looking for a replacement for a while. xchat upstream concentrates on their windows version and doesn’t seem to care about the Linux version. Also, they are very very slow to develop/add new features.

So, first I would prefer a GUI client over a terminal one (Although I might look at irssi at some point), and would prefer GTK over QT (I use Xfce, so the GTK libs are already loaded, but I don’t really use any KDE apps day to day, so it would add a good deal of overhead).

First stop was a client that I had heard of from freenode’s recent ircd update. They noted that the new ircd can handle SSL auth in some clients, including: conspire. Conspire is a fork of xchat. It’s pretty similar in a lot of ways, but there has been efforts made to re-write old crufty code (the display model was totally redone). They have also applied some patches that have been linkering unadded to xchat.

PROS:

  • uses less memory than xchat
  • has neat new plugins like the one that tells you who highlighted you and what they said and what channel, no matter which channel you are currently in.
  • faster screen update and text area.

CONS:

  • %2 in usercommands doesn’t expand to the second argument to a usercommand.
  • pageup/pagedown don’t seem to work right, so I end up having to use the scroll area on my touchpad to scroll back in a channel.
  • The only audio notice possible is “beep”. So, I need to load pcspkr and listen to that horrid X beep noise.
  • The Biggie: It’s questionable if it’s going to continue as a project, as the main developer has moved on to working on another client.

So, after that I went on to look at quessel. It’s already in Fedora, so it’s easy to install and play with. This is the client that the conspire maintainer moved on to working on. It’s kind of neat that it has a backend and a frontend, so you can run the backend on a connected host and use it like a irc bouncer (ie, bip, dircproxy, ctrlproxy, maui, znc). Sadly however it uses it’s own protocol for that. so you can only connect to it with a quassel frontend.

PROS:

  • Looks nice, very configrable.
  • Has a nice ‘chat monitor’ window that lets you configure things from any channel you are in that you would always like to see there. (ie, when someone highlights you name or a keyword). It tells you network/channel/nick: and what they said.
  • Aliases work fine.
  • Active community. Lots of commits and activity upstream.
  • sqlite for channel logs. This includes a nice find/search feature so you can search on nick/channel/text, etc. And it shows you context.

CONS:

  • QT based and memory hungry. As I was playing with it, it grew pretty large in memory footprint.
  • Missing basic things like a way to switch channels from the keyboard. Using the mouse for that would get really old.
  • In some ways it’s TOO configurable. You can drag things around, and if you aren’t paying attention not be able to get them to reattach anywhere.
  • History in your input area is global, ie anything you type in any channel is in there. Makes it hard to go repeat something if you were talking in another channel for a while.
  • sqlite logs means no grep of your logs, you have to use the builtin search.

I think I am going to try quassel out for a few days and see how it looks. If it’s not working out, I think my next step will be irssi, much as I have gotten used to a “pretty gui” IRC client.