vchatter Code
Brought to you by:
ankur_nayak
File | Date | Author | Commit |
---|---|---|---|
src | 2010-03-24 | ankur_nayak | [r6] Got multiple windows to work. |
AUTHORS | 2010-03-24 | ankur_nayak | [r5] Added README etc. |
README | 2010-03-24 | ankur_nayak | [r5] Added README etc. |
TODO | 2010-03-24 | ankur_nayak | [r5] Added README etc. |
vchatter is a vi-like jabber chat client, though I hope to extend it to support other protocols too. Motivation: vchatter has culminated as a result of the author trying tons of different command line chat clients and finally coming to 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 Features: --------- 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 ------------------ Tiled layout: ------------- 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> Split Layout: --------------- 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.