Tuesday, July 16, 2013

Comparison of IRC clients

IRC, or Internet Relay Chat, is a protocol for transferring text to a server which will relay the text to everyone else connected to the room or user it was sent to. You can think of it like a chatroom.

k4tzz connected
k4tzz  | Sup guys?
melga| Hai k4tzz, haven't seen you around in ages.
* joeyB0y pets k4tzz

IRC is sometimes used to organize large open source projects, or to get technical assistance (irc.freenode.net do both of these things).

There are multiple clients that can interface with the protocol, and this is a comparison of those clients.

Xchat / Hexchat
This is the most popular of the IRC clients. Xchat and Hexchat are largely the same, but Hexchat sees more regular development, so it is encouraged to use it over Xchat. It is also in the process of developing a completely text version with ncurses, so if you're into that it's a solid client. Xchathas a list
of the connected list, a text box on the bottom, and a channel list on the left. The settings are completely graphical.

Xchat also supports buttons specifically for Operators, so if you're op on a channel, xchat is a very good moderation tool. Xchat also supports the same text commands you would find in a command-line IRC client. /join, /connect, etc.

It does have its shortcomings, though. Because Xchat is graphical, it cannot be embedded in a multiplexer. That means if you accidentally close the window (and kill the tray icon, since it supports that) you lose your IRC session. This doesn't make it a good choice for a user that may switch desktop environments often. Xchat also can't be configured very heavily, since it's graphical, but you can change the colors of the display.


Pidgin is a chatting client that supports a whole heap of protocols. MSN, AIM, Jabber, what have you, it's in Pidgin either officially or as a plugin. Pidgin originally developed LibPurple, which you've probably used if you were doing any network-heavy code on Linux.

As for an IRC client, it lacks. It has the very basic features of an IRC client, but no heavy configurability options (even less so than Xchat). It supports tabs, but for the serious IRC user, this is not an option.


 Irssi is the command-line option that most people turn to. It consumes very little RAM, all of the standard text commands of an IRC client, scrolling, acts (kind of like tabs), and most importantly, heavy configuration in its configuration files. Themes (in the .theme format) can adjust settings of irssi deeply, and because of how old it is, there are many of these around. Irssi isn't a spring chicken any more, though. The man file was last updated in 2002! That doesn't make this a poor choice, though. For a simple command-line IRC experience, this is the option of choice you should have.

Weechat is another command-line IRC client. Much alike irssi, it supports all of the commands, but allows you to set them per-server. So you can have different default nicks across servers, or on all servers with /set irc.server_default.

Also like irssi, it has the ability to be placed in a terminal multiplexer, which will be persistent as long as your computer is running. It is commonly updated, unlike irssi. It also supports extra features, like showing how many unread messages are in each act. It also has a nick list, which is a feature many people miss when they use irssi over something like xchat.

Weechat's configuration file is hundreds upon hundreds of lines. Every little aspect of this client can be configured. There are also some features that are turned off by default, that you can enable and enjoy. There aren't any shortcomings to weechat, except for a bit of wastes space on the right side of the screen. However, this space is negligible if you shorten your timestamp and remove the nick list.

 Erc is an interesting IRC client. It supports all of Emacs keybindings by default, and there's a reason for that: it is contained within emacs. Erc can be installed from MELPA with M-x package-install [ret] ercn. ERC supports full configuration, but is very light by default. It would make as much sense to use Erc as your default IRC client as it would for you to use M-x shell for your default terminal emulator. If you are in Emacs all the time, give it a whirl. Otherwise, save this client for when you need programming help or someone to keep you occupied in long coding sessions.

Objectively, weechat is the best IRC client. It supports the most features, the best performance, and the highest configuration possibilities. However, each of these IRC clients server a particular niche. Xchat for ease-of-use, irssi for simplicity, weechat for heavy IRC users that don't mind getting their hands dirty with a bit of configuration, and Erc serves people that use Emacs constantly. Pidgin? Not even once, but I guess if you use Pidgin often, it's a viable solution. I recommend downloading all of these and trying them out for yourself, since they're all very small downloads. However, weechat is the "winner" of the irc clients.

1 comment:

  1. BlueHost is ultimately one of the best website hosting provider with plans for any hosting needs.