XaAES User Manual
(W)Craig Graham (c_graham@patrol.i-way.co.uk)

1) INSTALLATION
-------------------

Installing is pretty easy, just do the following:

i) Stick these files all in one directroy:
   xaaes.tos   - The kernal (colour & mono versions are in seperate archives)
   xaaes.cnf   - Like GEM.CNF, but for xaaes.
   logo.prg    - the XaAES logo, (possibly) launched at startup.
   system.rsc  - various GUI elements for the kernal (default menu, alert template, etc)
   bar.app     - Simple Application launcher (like Fvwm's GoodStuff 
                 button bar)
   bar.rsc     - Resource file for the above.

ii) Copy the mouse device driver 'moose.xdd' to one of:
	c:\multitos
	c:\mint
	c:\
	Your auto folder

iii) Copy these files into the root directory of your boot drive:
   bar\bar.inf to c:\bar.inf

iv) If you want a console shell (the xaaes.cnf file is set up to give you one),
   you should edit the xaaes.cnf file so rt runs your fave shell (I use sh, but
   mupfel, etc will work as well).

v) Add these lines to your MiNT.CNF file:

      cd u:\<path>
      INIT=u:\<path>\xaaes.tos

     Alternatively, if you are a bit more of a techie, XaAES will run happily from
     a command line (and let you exit back to it) or as a login shell.

Ok, thats it.

1.1) COMMAND LINE ARGUMENTS

XaAES has the following command line arguments:

1.1.1) Standard Atari Video Mode Select

         -video <mode>

Selects the video mode that XaAES will boot into where <mode> is:

      2 = 320*200, 16 colour (ST-Low)
      3 = 640*200, 4 colour (ST-Medium)
      4 = 640*400, 2 colour (ST-High)
      6 = 640*480, 16 colour (TT Medium)
      8 = 1280*960, 2 colour (TT High)
      9 = 320*480, 256 colour (TT Low)

These numbers are simply the VDI physical workstation id's that
are assigned to each video mode. If you have a strange video card,
use whatever workstation ID your card's driver is assigned to.

You should use this if you have an ST/TT - it will work on a falcon
but you will get better performance by using the -fvideo switch 
instead.

1.1.2) Falcon Video Mode Select

	-fvideo <modecode>

Select a falcon video mode, where <modecode> is a video modecode
as used by the VsetMode() OS call. The format of this is:

	BIT	Name	Meaning
	0-2	BPS	Number of bitplanes:
				000=2colour
				001=4colour
				010=16colour
				011=256colour
				100=16bits/pixel (True colour)
	3	COL	Number of columns
				0=40
				1=80
	4	VGA	Monitor select
				0=TV mode
				1=VGA mode
	5	TVSEL	TV standard select
				0=NTSC
				1=PAL
	6	OVERSCN	Overscan flag (not valid for VGA)
				0=don't overscan
				1=overscan
	7	STMODES	ST Compatibility mode
				0=Standard VGA video modes
				1=ST Compatible Video modes
	8	VERTFLAG Vertical mode
				VGA:
					0=standard
					1=line doubling (half res)
				TV:
					0=standard
					1=Interlace (double res!!!)
	9-15	unused

For example, 'xaaes -fvideo 26' will select 640*480*16colour VGA mode.

This should work with video expanders (it works fine with 
FalconScreen) and with NVDI (I've tried it with NVDI4).
		 					    
2) Using XaAES
-----------------

2.1) Menus

Generally XaAES is like GEM, but with a few exceptions. Most notably, menu's are
Mac-style pull down, not GEM style drop down. This means that you've got to click
on a menu title to see the menu, not just point at it.

Also, holding down CONTROL and clicking on the menu bar will 'Tear-Away' the menu
bar, allowing you to have several menu's on screen at the same time.

2.2) Typing

XaAES can be point-to-type - so keyboard input goes to the window under the mouse and
NOT to the top window. This depends on compile time flags - check the boot message
to see if this feature is active.


3) XaAES Keyboard Combo's
----------------------------

There are a couple of keyboard combo's that XaAES uses for itself. These are:

CTRL+ALT+TAB     : swaps menu bars, not top windows.
CTRL+ALT+L       : Activate the 'Task Manager' window.
CTRL+ALT+D       : Output a status dump to the debug file
CTRL+ALT+K       : Clean up - search for dead clients that didn't call appl_exit
CTRL+ALT+R       : Attempt to recover control of a hung system - use as a last resort,
                   as this will kill the clients that are blocking the system.
CTRL+ALT+C       : Shutdown immediately, killing all clients.

NOTE: CTRL+ALT+D only outputs anything if GENERATE_DIAGS was turned on at
compile time - in the binary distributions released by me (Craig) they will have no
effect as all diagnostics are turned off.

4) SYSTEM MENU
---------------

The XaAES system menu (CTRL+ALT+TAB until you get it) currently contains two useful
options.

One is the 'About XaAES...' option which (surprisingly) brings up a nice
little descriptive box.

The other (more useful) option is in 'Shutdown'. This will kill all GEM programs
and exit XaAES gracefully. Unlike MultiTOS, if you ran XaAES from a command line
or as a login shell, you will be returned to the command line or login prompt. You
can then re-start XaAES, or do whatever - XaAES can be exitted and restarted as many
times as you like without rebooting the machine.

XaAES catches CTRL+ALT+C and CTRL+ALT+\  (SIGINT & SIGQUIT respectively) and executes
the shutdown procedure in response to them, so you should be able to get back to your
command line in most situations.

4.1) TASK MANAGER
------------------
The 'Process' menu of the XaAES System menu also contains the
'Task Manager' option. This opens a window with a scrolling list
of current AES client applications. This is not a list of all
MiNT processes, it's only a list of GEM programs.

The Task Manager allows you to suspend, resume, kill and launch
GEM programs.

The icons next to each list entry represent the app status
(Application awake, Accesory awake, Sleeping/suspended,messages
pending, owns lock, etc).

There is a set of icon buttons at the top of the window
(from left to right):

o Launch
  Launch a new GEM program. A file selector will prompt you for
  the filename.

o Trash
  Kill the task that is selected in the task list.

o Sleep
  Put the selected task to sleep. This will hide all it's windows
  and send SIGSTOP to the process to suspend it.

o Wake
  Wake up the selected task. This is the opposite of Sleep, and
  will restore all the app's windows (on top, in the order the app
  had them) and send SIGCONT to let the process continue.

As previously mentioned, CTRL+ALT+L will also open the Task Manager.  

6) WINDOW SCROLLING
--------------------

Scroll bars are extended from the usual GEM style to be similar to WinX's behaviour.
Clicking and dragging the scroll bar with the right hand button will work the same as
normal GEM. Clicking and dragging with the left hand button will do REALTIME/LIVE
scrolling, where the window will update as you move the mouse (not just when you 
release it as in the standard GEM behaviour). This is nice for programs that have
fast window updates, but is annoying for old/slow programs (which is why it's
on a seperate button).

7) THE xaaes.cnf FILE
-----------------------

This is a bit like MultiTOS's GEM.CNF file. It's main purpose is to let you auto-launch
programs as XaAES starts up. Generally the syntax of this is supposed to be the same as
Atari's GEM.CNF file

It's a simple text file with the following format:

i)   '#' is a comment line.
ii)  Commands are not case sensitive (although paths may be, depending on your filesystem).
iii) If a command isn't understood, it gets ignored...
iv)  These commands are currently supported:

         run <program> <parameters....>
            Launch a program.

         debug <file/device>
            Set debugging output to <file/device> (default is .\debug.list)

         clipboard <directory>
            Set the GEM clipboard to be in <directory> (default is c:\clipbrd).

         accpath <directory>
            Set the location that XaAES will try to load accessories 
            from (default is c:\).

And example xaaes.cnf file (in fact, the one I use) is:

   #Craig's Setup
   #---------------
   # Set the default clipboard path
   clipboard c:\clipbrd\
   #
   # Where to load desk accessories from
   accpath c:\
   #
   # Launch toswin (68030 version) to handle TOS programs for me
   run u:\h\sources\aes\sys\toswin30.prg
   #
   # Launch the desktop
   run u:\c\thing\thing.app
   #
   # Set Debugging to go to serial port
   debug u:\dev\ttyb
   #

8) Programs That Run As APP/ACC.
---------------------------------

Several programs that run as either APP or ACC will fail to
run correctly (or at all) under XaAES. For some reason (don't
ask why) many of these (for example ST-Guide) will fail if run
as:
	c:\stguide.app
but will work fine if run as
	u:\c\stguide.app
Now, these should be the same path with the same behaviour, but
there appears to be a subtle differance in the way Pexec() works
if you launch a u: relative path. So, instead of clicking on st-guide
in a c: window from Thing, use the u:\c\ window instead...

x) Caveats
--------------

I've compiled  out most of the diagnostics, but if you get funny messages on
the screen, add the line 'debug \dev\null' to the xaaes.cnf file.

Loads of stuff is missing at the moment, don't hassle me - fix it and get back
to me.
