IM from the Terminal: 2 Great Applications
This article is about two popular IM (Instant Messaging) clients that can be used in a terminal instead of a graphical environment. Both have advanced features and are based on the ncurses library.
Based on libpurple, Finch is developed by the Pidgin project, and it pretty much supports the same features of it, except for the graphical part, of course. There are many chat protocols which it supports, including AIM, IRC, MySpaceIM, WLM, SILC, Yahoo! or ICQ.
Finch allows you to change the status, report idle time based on keyboard activity or turn it off, it supports plugins, file transfers, sounds, status messages, chat timestamps, customization of the contact list. In addition, it also lets you change and remembers the position and size of the windows.
The very nice thing is that once you get to know how to use it, Finch becomes a great tool for getting the job done.
Several plugins can be configured and some of the plugins that come bundled with Finch by default include:
Autoaccept – auto-accept file transfer requests from selected users
Buddy Notes – store buddy notes
Grouping – provides alternate ways to group buddies in the contact list
Join/Part Hiding – hide join/part messages in large rooms
For using Finch you can find a comprehensive guide that I wrote a while ago following this tutorial. This page on the official homepage may be of help too.
Some of the basic keyboard shortcuts include Alt+Q to quit, Alt+A to open the options window, Alt+N to switch to the next window, Alt+C to close current window, Alt+R to resize a window, Alt+M to move a window, Tab to switch through options and Space to tick/untick an option.
CenterIM is another powerful IM client which is being actively developed, and supports the following protocols: ICQ, Yahoo!, WLM, AIM, IRC, Jabber, Gadu-Gadu and LJ.
When it starts, CenterIM shows a configuration window with various general options that can be changed or toggled by pressing Enter. The window that follows allows you to set up accounts for all the supported protocols.
CenterIM provides a default interface with the contact list to the left, and the discussion windows to the right. The online contacts are separated from the offline ones. I tried it using the Yahoo! protocol, and the contact groups seem to be ignored. After writing the text you want to send, press Ctrl+X to send it. Use the Escape key to switch to the contact list and Q to quit CenterIM.
CenterIM supports aways messages, anti-spam features, windows size configuration, keyboard binding, logs, aways system.
One feature which I found to be great is the possibility to enable Emacs/Vi keyboard bindings in the text editor, this making it easy for a person who is used to one of these ways of text input.