Thursday, November 28, 2013

Irssi - The client of the future


It feels strange calling Irssi the "Client of the future"... but in many ways it is.

First off, let me explain what Irssi is. "Irssi is a terminal based IRC client for UNIX systems. It also supports SILC and ICB protocols via plugins." -Irssi.org

IRC stands for Internet Relay Chat, and has been around since 1988. It's used for many reasons, from group chat to one on one chat to even file transfer.

I use IRC a lot for Ubuntu problem solving with the official Ubuntu IRC group, found at irc.freenode.org, channel #ubuntu.

The reason I feel strange about calling Irssi "the client of the future" is because of the fact that it runs from a terminal.

In other words, it would fit right in with a movie about computing in the 80's with black and green non color, non graphics computers.

Here's a screenshot to give you a sense of what I mean:


Don't let the "low tech" appearance fool you however. Irssi is a rock solid reliable, easy to use and complete IRC client. It is my client of choice.

As stated on the Irssi "About" page, here is just a taste of what Irssi has to offer:

"Autologging

Irssi will automatically log any channels, queries or special windows that you want. The logfiles will be separated per IRC network, and even log rotation is supported. Log file formats, themes and destination directories can be easily configured with the Irssi log settings.

Formats and themes

Theming is a popular item in todays desktop enviroments, it's an easy yet powerful way to customize your Irssi client's look and feel. Irssi's formatting is modular which means you can just change the appearance of the objects and all items contaning that object will change into that format.

Configurable keybindings

This feature is a piece of art; it allows you to modify the default keybindings and create your own so you can customize your client. If these keybindings are tuned, you can switch through the windows in no time, execute commands and even complete objects with these bindings.

Paste detection

If you have ever pasted a bunchload of text into a wrong channel, you know how hard the consequences can be. Irssi tries to detect when you are pasting large amounts of text, by looking at the speed that characters are entered; if such pasting is detected [TAB]-characters are sent as-is instead of being tab-completed and eventually ending up in a wrong destination window. When Irssi detects such a pasting, you will get the option to either abort the paste or execute the paste, this way you have total control of the pasting.

Perl scripting

Perl is one of the most used programming languages around the globe and integrating Perl into applications means flexible and powerful scripting capabilities. The entire behavior and appearence of Irssi can be modified within these Perl scripts. Irssi provides a script archive with many contributed Irssi scripts which provide both useful extra features and the required assistance to make your own scripts.

Irssi-proxy

This is much more than just a bouncer, Irssi-proxy is a plugin which allows to bind a port to each IRC server you are connected to. This means that instead of having to remember to identify with a password, you can just connect to the Irssi-proxy with a server password. The copy of Irssi running the proxy works just as a normal client which you can use, but you can also connect one or more clients to it to share the connections. Using Irssi as a proxy has the major advantage of Irssi's power as an IRC client. You never have to worry about losing your connection to IRC. Even if you don't want to use Issi as a client, I can strongly recommend it as a proxy because you can just connect to it with any IRC client by just connecting to the specified port instead of SSH-ing to the machine that your Irssi is running on.

Upgrades

Upgrading your Irssi client to the latest version can be easily done without losing the connections to the IRC servers and without restarting Irssi. You can use the UPGRADE command to load the new Irssi binary and restoring your connections."

In my personal set up, I create an icon with Alacarte. In the icon, my command looks like this:

terminator -x irssi -c irc.freenode.org -n (nickname) -w (password)

In this case, terminator (arguably the best terminal emulator available for Linux) starts up Irssi. Irssi then takes these commands from terminator, and logs me into the freenode.org server under my Freenode registered nickname and password.

This makes freenode, and by extension the #ubuntu channel, a mouse click away.

(A nickname and password set up is not required by Freenode, it is just an option if you want a specialized nickname. Nicknames are used to distinguish one user from another, that's all.)

Here's my Freenode access icon, thanks to Alacarte:


I also have a bash script with the name freenode in my home directory.

It looks like this: irssi -c irc.freenode.org -n (nickname) -w (password).

That way i am just a ./freenode away from chatting it up with #ubuntu.

* These scripts do not work the first time Irssi is started up, because at first launch Irssi has a "welcome to irssi" screen that takes precedence.

You can get Irssi in Ubuntu by Synaptic, the Ubuntu Software Center, or with apt-get via sudo apt-get install irssi.

There is also a Windows version, check http://www.irssi.org/ for more details.

Well, I have said just about everything I have to say about good ole' Irssi.

If you are looking for a client, or are looking for something better, give Irssi a try.
-Denny

1 comment:

  1. I know, it looks like the "client of the distant past", but Irssi is awesome, trust me.

    ReplyDelete