Ncurses UI Howto

ok the theme for this ui is simplicity. it's based just like an irc program.
It's not pretty, but does all the work a UI needs to do.

Installing and running

You just need to uncompress the binary and run it.
./kaiui_ncurses
if it says its invalid you need to change permission:
chmod +x kaiui_ncurses
and then
./kaiui_ncurses

After that, start kaid and if you have set auto-login = 1 in kaid.conf you'll be auto-logged in. If you didn't it will ask you for a username and a password. After that a screen should appear:
Main window

The image should be self-explanatory.

Using it

Now you have a prompt and you can type commands into it. A command is something that begins with a "/". /arena is the command to put yourself in arena mode.

Going Arena mode and back to messenger mode

/arena
    This command puts you in arena mode
/messenger
    This command puts you back in messenger mode

Exiting the UI

/quit
    This exits the ncurses ui.

/refresh
    This refreshs the vector list. could be usefull cause kaid still hasn't full implementation of detach,takeover etc

Using Messenger mode

You can go into messenger mode using:
/messenger

Messenger mode

The left pane says the Online and Offline users. The first ( ) say the ping that a user has to you. The second ( ) say the mode the user is (Msg : Messenger mode | Arena : Arena mode).
If a use is in ARENA mode, you can follow him to the arena he is. just /follow CONTACT  . eg. /f auschwitz would in my case go to the arena that user is.

/add CONTACT
    Add a contact. CONTACT is the nick of the contact to add. eg. /add zipleen

/remove CONTACT
/rem CONTACT
/del CONTACT

    These are all the same. They remove a contact from your contact list.

/follow CONTACT PASSWORD
/f CONTACT PASSWORD

    If the user is in arena mode, if will put in the same arena the user is. If the arena has a password, type it after the username, otherwise just don't put anything. eg. /f auschwitz mypass1234 -> this would go to the arena auschwitz is right now, and the password for it would be mypass1234.

/pvt CONTACT SOMETHING
    This is used to chat with your contacts. CONTACT is the contact's nick and SOMETHING is the message you want to send him.

Using Arena mode

To go into arena mode use
/arena

Arena mode

The left pane is a little different. Arenas are displayed in green, users are displayed in grey.
Arenas use this notation:
    A:Arena name(Users in arena)
or
    A!:Arena name(Users in arena)   -> This arena is PASSWORD PROTECTED.

eg:
    A:XBox(485) -> it's an arena called XBox and has 485 players in it.

Browsing arenas

/j ARENA,PASSWORD
    This command is the join command. you use it to enter an arena. There are two ways of entering in an arena. You can type the full path of it, or the relative path. For example, in my case, i'm in the main arena. if i do /j xbox it will join the xbox channel. If i wanted to join using the full path i had to do /j /Arena/XBox
Note the leading / and the CaSe of it. Arena's are case sensitive, so if you want to join an arena you have to be sure of it's name. either that or use the relative path method cause it will case correct automatically for you.
In fewer words: use /j ARENA to go into ARENA.
password:
If the arena is password protected you need to provide it's password. to do that you need to separate the arena from the password with a comma ",". That means:
/j my_arena,mypass123
Arenas that have passwords are displayed with A!: instead of just A:

/up
    This command goes one arena up. That means you go to the arena you were before

    Creating private channels

/c PASSWORD DESCRIPTION
    This creates a channel. define a password and if you want a description too. The number of players will always be unlimited. eg. /c mypass123 My channel  will create an arena with password set to mypass123 and the description of My channel. if you do simply /c it will create a channel with no password.
note: if you can't create a arenas then this won't do anything. You can only create arenas inside a game arena, for example /Arena/XBox/First Person Shooter/Halo 2/Europe is a place where you can create arenas. The UI doesn't tell you where you can create or not arenas (but it could, just have to find a spot to put that hehe)

/msg USER MESSAGE
    This is for talking via personal message to a user in an arena.

/ban USER
    This bans a user from your current channel.

/banGame USER
    This bans a user from your current game. If you are hosting a game you can ban a user from it.

/kick USER
    This kicks the USER from your current arena.


Setting Status

/s NUMBER
    If you want to host a game, you need to set your status right. to do that just use /s number where number could be:
    1 - looking for a game
    2 - hosting a game
    3 - dedicated host
    Basically you use /s 1 if you want to play and /s 2 if you want to host.


Chatting

You are always in chatmode. In messenger mode you are in the General chat, in arena mode you are in the chat of your current arena. Chat users are in the right pane and in the middle is the chat screen.
To talk to the channel just type the message you want to send and hit enter. Remember, commands are started by / and all the other lines are considered as chat lines.

Bugs

There are a lot of bugs in the drawing code of the UI, remember this is only an alpha but does the job. Some bugs:
The first chat line (that the orb sends) sometimes (always?) is truncated...
The cursor sometimes gets freaked and goes to the start of the prompt line (but you can continue writing cause it won't be a problem, it's only a visual thing).
You can't scrool up and down in the user/contact/arena lists. If you can't see your arena, quit the application, resize the terminal and start the application again (you will be logged in and back where you were, so it's easy)
you can't resize the terminal while in the application.