I enjoy x-windows as much as the next person, but I’ve found that text-based applications are the best way to work with information that is essentially text-based. Most direct communication, including E-Mail, Instant Messaging(IM) and Internet Relay Chat(IRC), fall into this category. I will touch upon these three communication methods in this article, and provide the text-based solution that I use.

But first, I will introduce screen.

From the introduction on the site:

“Screen is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells … Programs continue to run when their window is currently not visible and even when the whole screen session is detached from the users terminal.”

In English, this means that you can open a program with screen (ie: screen program_name) and then open another within the same screen, and do things like paste between the two windows with relative ease. There are many uses of screen including splitting screens, logging output and reviewing the buffer. Perhaps most importantly, however, screen keeps your program running even after you log out of the console. This allows you, for example, to keep your IRC client up and connected to the IRC server as long as the machine is running, no need for you to actually be logged in.

I use screen extensively when working with text-based applications, if you aren’t familiar with it I suggest you give it a whirl.

Email

I use mutt as my email client.

mutt

From the General Info on the mutt website:

“Mutt is a small but very powerful text-based mail client for Unix operating systems.”

The features that I make most use of are: message threading, both IMAP support, support for multiple mailbox formats, tagging options, the ability to use the text editor of your choice (vim for me), and a great deal of customization.

A downside is that the learning curve can be rather steep. The default keybindings are not very intuitive and you will almost certainly need to consult the documentation when you begin using it. Also, while there are ways to call external programs to view MS DOC files and HTML formatted emails, it can be difficult to view emails that have a lot of images, for images I either download them to a local machine or use SquirrelMail.

Another popular text-based option, although not as powerful or customizable, is pine. I used pine for about a year before finally making the switch to mutt.

Internet Relay Chat (IRC)

I use irssi as my IRC client.

irssi

From the About section of the irssi website:

Irssi is a terminal based IRC client for UNIX systems.

Hands down, irssi is the best IRC client I’ve ever used. The features that I make the most use of are: autologging, formats and themes, Perl scripting, and the upgrade-on-the-fly command.

The learning curve of irssi is not any worse than most other text-based applications. The default keybindings make sense and if you’re familiar with IRC you’ll feel right at home. Additionally, there is a large user base for this software, and a number of people who do scripting for it, if something is not included in the client you can probably find a script on their scripts page that will fit your needs.

To learn more about IRC I recommend: The Book of IRC by Alex Charalabidis. This book is a bit dated, but the basics never change.

Instant Messaging (IM)

I use BitlBee for Instant Messaging.

BitlBee runs as a server. Built off of the technology that runs IRC servers, you connect to with an IRC client of your choice (in my case, irssi). This means that does not actually have to fall into the “text-based” category, as you can connect to BitlBee servers with any IRC client. Hop over to their screenshots page for examples of a BitlBee session in several clients on various platforms.

For me, the advantage of using BitlBee came in that I could run it within my favorite IRC client, no need for a GUI application to pop windows all over my screen, only to be misplaced when I changed desktops. Plus, there is no actual need to run the server yourself, the BitlBee website lists several public servers that anyone can connect to and use.

Bitlbee was featured as a hack in the book IRC Hacks, you can read the hack here.

One of the disadvantages of BitlBee is that it does not yet support all features for IM clients. Group chats are only supported for a couple protocols, file transfers are not supported at all. But this is really not a problem for someone like me who just uses my Instant Messanger to Message.