Welcome to the VCHATTER project!!
vchatter is a vi-like jabber chat client (though I hope to extend it to
support other protocols too). Some of vchatter's
tiling chat windows, support for multiple layouts, vim-like navigation
and commands, ease of usability etc.
AUTHOR: Ankur Nayak
Sourceforge Project Page: vchatter
Oct 21: Development has been on pause for a while. It'll soon be in progress.
There are no official releases yet.
You can get access to the code using svn:
svn co https://vchatter.svn.sourceforge.net/svnroot/vchatter vchatter
Alternatively, you can download development snapshots here
vchatter has culminated as a result of the author experimenting with tons of
command line chat clients and finally reaching the
conclusion that all of them
essentially suck. If someone can
inform me of a console-based chat client which
is efficient and to
my liking, I'll stop coding for vchatter that day.
What should a chat client be like?
- Easy to use
- Vim-like bindings
1. Window-based. Three different ones: buddy list, chat buffer window, and debug/status window
2. Modes : Support three layouts: Tiled layout, full screen, Split layout. Switch between modes using ctrl-space
3. Should have a command line, just like vim, which can be invoked using ":".
4. Navigate in the buddy list using j/k. Be able to search in the buddy list using /.
Details of layouts
Just like tiling window managers(xmonad,dwm etc), there should be a master
window, which would be the buddy list window (in future we can extend it to
have any window to be the master window). The master window occupies one half
of the screen. The other half of the screen is filled with all the chat buffer
windows, which are tiled one on top of the other. One can navigate through windows using ctrl-j/k
Full screen layout:
In this mode, there will be tabs for each window. One can move from one window
to the other using alt-num
In this layout, buddy-list windows occupies one half of the screen. The other
half is occupied by a chat window buffer. The idea is for the buddy-list
window to be visible at all times.