UN*X IRC Clients

[source] http://forcix.cx/ computer/ irc-clients.html


UN*X IRC Clients

I put this page together in an effort to compare the multiple IRC clients which are out there for Unix and derived systems. (Though I can only test those clients on Linux)

Like almost everything on Unix, if there is something for a given task, there are various solutions, all more or less off a different approach and addressing different needs. It's almost impossible to judge those IRC Clients, as it's mostly your personal taste that matters here.

Thanks to Freshmeat where I got most of these clients. On the screenshots you can see the window manager i was using at that time, one of AfterStep, AmiWM, or SCWM.

There's another very, very good list of IRC clients at http://www.valinor.sorcery.net/clients/.

The following list is what i found on IRC clients out there, and I don't claim that it's complete. I deliberately excluded two types of IRC clients here:

  1. Emacs IRC modes
  2. Java IRC clients

Some others i couldn't include for various reasons:

The other clients are sorted in categories:

If you find a UN*X IRC client that i don't have on this page yet, and it's not Java, please send mail to forcer.


Console

BitchX
screenshot
BitchX... for many the IRC client of choice (and for many others, the incarnation of evil). Though you wouldn't guess upon seeing it, it's really just an extended ircII. It adds ANSI colors and relies heavily upon those.

Attention, it's preconfigured to do things you might not want to do!


Blackened
screenshot
Another modified ircII. Adds features, or course. Also, crashes on connect.

ccirc
screenshot
This is a client written in Korn Shell (!), and still is quite nice. On startup, it even checks whether a new version of itself is available. Requires a ksh, for example pdksh

E3WD
screenshot
Yet Another modified ircII... i think it's a modified EPIC one... This one adds colors and DCC RESUME.

ircbase
screenshot
ircbase is a different approach to client design. One part of the client runs on a host, while the frontend runs on a different host. That way, you can keep your client online even if you have a dialup box.

The picture shows irccli, the UNIX ncurses frontend - there are others.

The client still has some problems (especially the ncurses frontend), but else seems stable. It is scriptable in JavaScript.


ircII
screenshot
ircII is THE IRC Client in UN*X. It's one of the oldest, and most-used. It offers a termcap-based console interface, and thanks to the scripting language, it can be extended at will.

ircII-EPIC
screenshot
ircII EPIC is an extended ircII. It offers better scripting facilities and a few other improvements, but is basically still an ircII.

NetHirc
screenshot
A client written in perl and requires Net::IRC. It excels at making funny comments out of server messages, in the spirit of NetHack in which it was written. Additionally, it's quite usable for chatting.

Ninja
screenshot
This is another... guess? Right! ircII shoot-off ... Anyways, it adds ansi-colors, mirc-colors, pipe-colors (whatever that is), built-in aliases, and remaps some output. It's a matter of personal taste whether you like it or not, as with most clients.

nirc
screenshot
A client written in Perl using some POE modules. It's very alpha and doesn't seem too usable for now.

ScrollZ
screenshot
ScrollZ is again a modified ircII. It adds ANSI colors and some new commands.

sic
screenshot
sic is a termcap based IRC client. It offers no scripting ability, but some nice features (multiple windows, nonblocking connects and DNS lookup), but the screen is pretty chaotic. Take a closer look at the screenshot and you'll see what i mean. It's not very economical with horizontal screen space.

ScIRC
screenshot
ScIRC is my own creation, so it's of course the best client out there (*cough*)

It's a client completely written in Guile Scheme, and can be extended using this language. Currently it supports the ssfe frontend from sirc (with a slight modification by myself), thought I'm going to add a Gtk+ frontend (maybe)

It's still alpha, and i don't do much on it, so don't expect too much.


sirc
screenshot
Sirc is a client that looks similar to ircII, but is written in Perl and can be scripted in that language, thus offering one of the best IRC scripting environments available.

It lacks the windowing functions of ircII, though, so it can get pretty confusing.


SLirc
screenshot
SLirc is a nice SLang library based console client. It has problems with my version of slang (1.2.1), so i can't test it, and the screenshot looks a bit depressing.

tirc
screenshot
Tirc is an ircII look-alike, written in C. It emulates the vi editors interface, and is deliberately missing any true scripting language since the author despises scripts.

It understands aliases and limited scripting, though.


uirc
screenshot
This IRC client was also available under the name "pirc" ... It supports ANSI colors for display, a simple scripting interface but all in all is prone to fail and buggy


X Window System

cIRCus
screenshot
Cute is the best word to describe this client. It core dumps on entering an empty channel (ugh!), but else seems fine.

eIrc
screenshot
This client used to be Motif based, but now switched to Qt and is named KeIRC.

fOXIrc
screenshot
fOXIrc is part of the fOXProject, and it uses the xclasses library that is also used in the fOXProject. It looks neat, but it's practically unusable if you have configured your window manager to not decorate transients, since almost all of it's windows are those.

lirc
screenshot
Lirc is a client written in Common Lisp, using the the Garnet toolkit. I couldn't get Garnet to run on my box, so this is the "official" screenshot.

SmIRC
screenshot
SmIRC is supposed to be an X Window client. It requires Motif 2.1 to compile, and the static version doesn't run here.

sula
screenshot
Sula is an X IRC client with a pretty unconventional user interface. Also very unconventional is the scripting interface: The scripts are shellscripts that write to stdout what they want to add to the client etc. Sula uses the xforms library.

Lately, a variation popped up known as "gsula" that adds Guile scripting (The API isn't very Schemish, though)


Sula-PrimeriX
screenshot
Sula-PrimeriX is a shoot-off of sula which moves much of the client code into Scheme and improves the scripting interface.

It's already at version 2 (Sula-PrimeriX II) which improves the Scheme functions very much.



Tcl/Tk

dirc
screenshot
dirc looks nice, but it crashed for me as i tried to connect.

JiMM
screenshot
JiMM is in pre-alpha, and it's author seems to intent it to b3 r3411y k00l, as this is how most buttons are titled. The DCC support is broken, but else it seems pretty stable. Most of it's output is not english, though.

MinIRC
screenshot
The author of MinIRC says it's a very small client, and that he intended it to be that way, for example as a browser IRC client for browsers with the Tcl plug_in.

It doesn't allow the user to be in more than one channel, and doesn't parse server messages at all - making them quite difficult to read. All in all a nice client if it has to be *very* small and graphical, but for nothing else.


NetPlug
screenshot
NetPlug is a nice, Tcl/Tk based ... uhm, NetPlug. That is, you can plug it into any net service. One thing you can plug it into is IRC. It looks nice and stable there, but lacks multiple window support.

QuIRC
screenshot
QuIRC is a newer client written in C++ that uses Tk as it's interface and Tcl for scripting. It uses only one window, and switches between channels using a point and click interface. I didn't encounter any major problems nor crashes.

All in all it looks quite OK, though pretty basic.


TkIRC
screenshot
tkirc is a Tcl/Tk frontend to ircII. It adds support for real windows, and Tcl as another scripting language.

Zipper
screenshot
Zipper! is again an IRC client written in Tcl/Tk, and looks very neat. It is easy-to-use and has an easy scripting interface.

Zircon
screenshot
Zircon is an IRC client that doesn't allow written commands by default, everything has to be clicked. (That's not a bug, that's a feature, and can be changed (thanks to Draco^LnX for that info)).

Additionally, it might send unwanted data to IRC which could lead to misunderstandings.



GTK+

Berzerk
screenshot
A GTK+ based IRC client. It's a different approach in GUI, and still a bit beta.

gnirc
screenshot
Hmm... this client is *very* alpha. It uses only one window, so it can get pretty confusing.

Else it seems OK, though pretty pretty beginning for now. I had quite a few problems compiling that beast (someone tell the author about #include <errno.h> and proper prototyping, please)


irssi
screenshot
The successor of yagIRC, written by the original author to create the best client ever.

It looks quite promising, but the whole client code is still pretty beta. Use with care.


X-Chat
screenshot
This client is an AmIRC (an Amiga IRC client) look-alike (that's why i did the screenshot on AmiWM, the Amiga-style window manager) ... OK, this client is a bit beta but it's a really nice start.

XgIRC
screenshot
Being the former XmIRC, it's still not similar to mIRC for Windows[tm] (and i guess that's why the name changed). The client looks like a nice start, but it's still very beta, and doesn't compile well with gtk-1.1

XmIRC
screenshot
This thing is now known as XgIRC

yagIRC
screenshot
A nice client, and scriptable in perl, thus almost as versatile as sirc. It can drag channel windows in the main window, and let them loose again, so it's very neat to use, though it still has some bugs. It's officially dead and replaced by irssi


Qt

KeIRC
screenshot
The successor of eIRC, with the interface library switched from Motif to Qt. I couldn't test it, though, it coredumped upon connecting to my IRC server.

kIRC
screenshot
A very, very nice looking IRC client. It slightly resembles mIRC, but is actually usable. The changes from v0.9.5 (after which the development almost halted) to v0.9.6pre7-2 are astonishing. It actually works now, and the look was improved even more.

The windows can be snapped from the main window and placed anywhere, and also sucked back in. The scripting abilities are simple but powerful enough for most uses.


kSirc
screenshot
kSirc is a KDE/Qt frontend to sirc. It retains the versatile scripting with perl, and adds a nice user interface. Though it's still a bit buggy, it is usable for continued chatting.

KVIrc
screenshot
Again a nice looking client, but compared to kirc lacks the ability to release windows onto the main desktop. Else looks nice and stable though...

qtirc
screenshot
Doesn't compile for me (me and my Qt - I hate it, it hates me too). I heard it has no word-wrap, but that's all.

xIrc
screenshot
Had to add some destructor declarations, and some code cleanup, and and and and still couldn't compile it. And the precompiled version core dumps.


Copyright © 1997-2001 Jorgen 'forcer' Schaefer. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
This page was last modified on Sat Apr 7 17:53:42 CEST 2001.