*****************************
gtmess - MSN Messenger Client
*****************************

To see command line options:
    gtmess -h

Quickstart:
    Run gtmess, press F9, select "Connect", enter login/pass.
    Use arrow keys to select a contact and press enter to open a chat window.
    Press Tab to switch between chat window and contact list.
    Read on for more keyboard shortcuts, to navigate between
    chat windows, etc.

Keys:
^ = CTRL, @ = ALT (or ESC first), $ = SHIFT
===========================================

Global Shortcuts
----------------
^L		redraw screen (in case it gets garbled)
^G		test console beep
^F		toggle display of offline contacts
?               mini help

F4		transfers window (show/hide)
F5		message window scroll down
F6		message window scroll up
F9		menu bar
F10		exit
ESC		escape mode (menu mode like F9)
@-<letter>	jump to main menu letter (ESC-letter)


********* NOTE *******************************
Instead of F1-F10 you can use ESC-1 to ESC-0
F7 = ESC-7, @F7 = ESC-&, @F8 = ESC-* 
Also, try ALT-1..ALT-0, ALT-&, ALT-*


Switchboard Mode (chat windows)
-------------------------------
^N	new switchboard (chat) session
^W	leave sb session and close window
^X	leave sb session, but keep window open
TAB	toggle between chat windows and contact list menu

F1	previous sb session
F2	next sb session
F3	next sb session that has unread messages

PgUp/F7	switchboard (chat) window scroll down
PgDn/F8	switchboard window scroll up
@F7	participant list scroll down (chat session)
@F8	participant list scroll up

Contact List Mode
(when selecting contacts from the contact list)
-------------------------------------------------
]/arrow down	next contact
[/arrow up	previous contact
^N		new switchboard (chat) session
^W		leave sb session and close window
i		invite contact to current session (i.e. after ^N)
I		invite contact to current session & leave menu
q		information
m		contact context menu
ENTER/SPACE	new chat session & invite contact & leave menu
+/b		block/unblock contact
:		toggle ignore contact
TAB		toggle between chat windows and contact list menu
PgUp/F7		contact list scroll down
PgDn/F8		contact list scroll up


ESC first, or ALT down: shortcut of main menu
----------------------------------------------
C	connect
S	change status
L	contact lists
V	server
O	options
I	invite
T	enter note
Q	quit
/	enter special client command (try "help" to get a list, "test colors" for fun)

Menu navigation (F9)
--------------------
[] or arrow left/right	navigation left/right
{} or home/end		navigation home/end
<> or pgup/pgdn		page up/down (skip many entries)
ENTER / SPACE		select
SPACE			check (for checkable items)
-/ESC/BACKSPACE		cancel or return to parent menu
underlined letter	shortcut for selection
F9			cancel all menus (no return to parent)

Switchboard (chat) text input:
------------------------------
* to talk, just type any text and press enter to send it to the switchboard server
* while you are typing, typing notifications are being sent in 4sec
  intervals (configurable).
* if the string begins with "/", then it forms a special command 
  (and typing notifications are not being sent while you are typing it).
* use // if you want to send one "/" in the beginning

Switchboard commands:
---------------------
/ <text>
	(there is space after slash!)  
	This command sends <text> to the chat session without typing notification!
        (this happens because the text gets typed while in command-entry mode ("/"))
                
/send <string>
	send RAW command string to SB server
        
/invite <user>
/i <user>
	invite the user with account <user> to join session
        
/spoof <fake>
	send a fake typing notification from user <fake>
	(to have fun with the original client ;-))

/file <filename>
	send a request to send file <filename>

gtmess specific switchboard commands:
-------------------------------------
/beep
	send a beep (so everybody pay attention)

/gtmess
	tell others you are using gtmess

/msg <text>
	send a message to other gtmess users ONLY (appears in msg window)
       
/dlg <text>
	send a message to other gtmess users ONLY (appears in chat window)

EDITBOX Controls (everywhere):
------------------------------
arrow left/right	navigation left/right
home/end		navigation home/end
insert			toggle insert mode
delete			delete character at cursor (and move rest to the left)
^A			word left
^D			word right
^T			delete word
^Y			cut line to clipboard (same as ^K-X)
backspace/^H		delete character at the left
ESC			cancel
ENTER			exit edit mode and save string
arrow up/down           recall previous/next line from history
^K			enter edit escape mode (cliboard etc.)
* edit escape mode
	B		set block begin
	C		copy whole line to clipboard
	K		copy from block begin to current pos
	V		paste clipboard contents
	X		cut line to clipboard
	Z		clear (zap) line (without affecting clipboard)
	P		push line into history and zap
	N		insert newline (shown as "|")
	ENTER		toggle multi-line mode; in multi-line mode ENTER adds
			a newline character; string will be accepted when you
			turn off the mode  (^K-ENTER again)
	A		word left
	D		word right
	T		delete word
        
* clipboard mode is valid only for one keystroke (ACDBKNTVXZ), 
  and is automatically exited after it
* invalid keystokes exit the mode
* you cannot cut & copy a masked field (i.e. password), though you can paste on it

Contact/Group Selection Mode: 
(when you are presented with a list of contacts or groups -- bottom line)
-------------------------------------------------------------------------
]/arrow right/down	next entry
[/arrow left/up		previous entry
{/home			first entry
}/end			last entry
q			information
m			invoke contact context menu
space/enter		select
ESC			cancel selection

Transfers Window
----------------
]/arrow down		next entry
[/arrow up		previous entry
}/arrow right		scroll left
{/arrow left		scroll right
a			accept incoming invitation
r			reject incoming invitation
c			cancel (abort) incoming/outgoing transfer
			or outgoing invitation
q			information
delete			kill entry (and cancel of course)


******************************************
gtmess-notify - popup notification windows
******************************************

* pops up a notification window starting from lower right of the screen
* creates & watches the named pipe '~/.gtmess/notify.pip' for new lines and displays
  the line text

******************************************
gtmess_w - sample desktop shortcut script
******************************************
