MyAeS documentation  for MyAeS 0.94

Patch 0.94a
    * shel_find now is able manage correctly unix PATH
    * appl_find((char *) (-3l << 16)) should return top application but it was not the case, taskbar could crash in this case (Thanks Jo Even Skarstein)
    * fix crash on CTRL-ALT-SUPPR (Thanks Wongck for his debug support)


New in 094 version
    * Realtime resize avaible on the 4 windows corners + changes of mouse forms
    * New supported form in graf_mouse
    * add "app_forcedesk" command in myaes.cnf to force application using userdef as desktop to have MyAES picture (can be used with Thing but not Jinnee!)
    * wind_calc support Magic extension
    *
    * Fix bugs:
    *
          o FVDI can crash on some VDI function operation if perimeter is set
          o shel_read fix
          o appl_getinfo repport now that MyAES shel_write() support shutdown and video chnage as it should
          o work with CTPCI


Patchs 0.93

Position of some gem text object fix
shel_read() fix (tail return was wrong)
Real_time work again
transparency number of pixel config was not possible, fix

New in 0.93 version

Fix memory for accessory, accessory take to much memory since some patchs!
Fix initialisation of video on Milan computer that crash if not previously initialise.
Reduce need of memory for computer with low memory.
MyAES can run on plain TOS (without accessory no cooperative multitask inside!)
Internal windframe, fileselector, form_alert and form_error
Windframe source code demo avaible for download


New in 0.92 version

Now if Toswin2 is already on memory, it send it a VA_START message to run an other TOS software before it relaunch a new
toswin2 application. This modification need a new Toswin2.app at the current version of 19 august 2008 on sparemint cvs server.
I put the binary of Toswin2.app in the archive.

Now MyAES can read it's configuration in $HOME/default/myaes.cnf, before we could use $HOME/myaes/myaes.cnf that is no more avaible

Add option flying_menu_fix to be able to have menu in window but that not auto close if true when flying_menu is itself true
(this do the menu is small but alway's display)

Above an other AES now MyAES accept to launch accessory


New in 0.91 version

Better redraw managment on functions locking applications (form_alert, fsel_input, menu_popup ...), now move the object 
(file selector for example) client windows are redraw.
Menu_popup() can't work correctly when an hierarchical menu was attach to it (impossible to do a copy in RSM for example because 
popup close before be able to select the copy item because it close when a hierarchical menu was open flying on a previous item close
when go out of this item)


New in 0.90a version

Just a fix for bad environment pass to applications in 0.90 version, some softwares doesn't work with this bug!


New in 0.90 version

Add: Lbox_xxx() functions from wdialog extension, so no more need Ndialog to run most software using Wdialog!
(like Jinnee). Font selector and printer dialog are still not supported. Thanks Gerhard Stollfor his documentations
and source examples of Wdialog softwares.

Now MyAES work correctly under Mint with Memory protection (KERN_SECURITY_LEVEL=2 and KERN_MPFLAGS=1). so maximum
protection. MyAES is able to run software that not run on any other AES in this mode (zview), it include memory protection
on AV protocol!
Fix: so many fix bugs in this version that it is impossible to do a list! 4 month for only debug!
graf_dragbox() now support transparency effect in TC 32 bits.

New in 0.85 version

Fix initialisation bugs, some possible crash under 2 and 4 colors, Thanks Guillaume Tello for his help
Add screen.ldg 2.01 now MyAES can work on NOVA 16 color video card, now 16 color are too correctly display
Add support for MyOSD software write for MyAES by Arnaud Bercegeay, this small software can display temporaly
messages on top window, this is actually use only in debug mode (more use soon!)




New in 0.84 version

Better compatibility with Magic, now "Troll" and "Joe" from Pierre Thontat work.
Correction menu_popup() function with hierarchical menu attach, now "Start Me Up" work.
Clean up source code and small fixs, now MyAES is able to be compil with GCC 4.2
A software doing infinite loop in non event aes function, will not hang aes kernel and so can be killed.

New in 0.83 version

Fix possible crash at start if $HOME env was not define (now shel_envrn return 0 if not find (other aes return alway's 1))
Fix: redraw message after have close an iconify windows was not send
Add extended Magic objects


New in 0.82 version

New flying_menu option: this option allow applications use all size of screen
as desktop and display menu in a window for menu only when need

Fix small bug in iconification when move iconify window

Better speed redraw when move windows in realtime

Correction for option : "workarea = fullarea"  this is still not perfect but really better if use with "flying_menu = true" option


Folders:

All need files should be put in a folder name "myaes" generaly by default put in "C:\gemsys\"
(for change this look above this text file)
In this folder you can find:

myaes
     -> "desk" folder
        -> select.prg
        -> alert.prg
        -> masreal.prg (need for realtime winframe (mutitask system only))
     -> "libs" folder
        -> jpg.ldg
        -> mem.ldg
        -> screen.ldg
     -> "log" folder
     -> "skins" folder
        -> diffrent folder, each folder correspond to widget skin
           -> dwidgets.ldg
           -> dwidgets.inf
           -> Probably a lot of picture depend of the windframe
           -> possible myaes.cnf for redefine some cinfiguration like menu background color
     -> myaes.tos (the AES itself can be put anywhere)
     -> myaesrsc.rsc
     -> myaes.cnf)
     -> keytabls.sys (optional)
     -> myaes.pal (optional)

In the "desk" folder you will find some independant softwares need for the AES, at this time
there is 2 important software:
 "select.prg" that is the default file selector
 "alert.prg" that display form_alert and form_error messages

In the "libs" folder you can find vital dynamic library in ldg format
 "jpg.ldg" loader for Jpeg picture from Zorro and it's Zview
 "mem.ldg" a memory manager for ldg from Dominique Bereziat
 "screen.ldg" an independant video format transform from Guillaume Tello and Olivier Landemarre

In the "log" folder, it's at start an empty folder, but a log file is generate each time a software
call appl_exit() to notice what AES functions where call, and troubles find by MyAeS and of course correct
by it (this is usefull for developpers).

In the "skins" folder, you will find other folders, in each minimum there is "dwidgets.ldg" the dynamic
library for manage the windframe, 2 authors have already write a windframe form MyAeS: Eric Reboux and Zorro.
"dwidgets.inf" is a small text file of one line that is display to choose the windframe at start if no default
one is notice in the "myaes.cnf" file.

"myaes.tos" file : The AES itself can be put anywhere
"myaesrsc.rsc" file : an RSC file for MyAeS to make possible translation in diffrent language (actually this file
is in french or english you can translate it if need)
"myaes.cnf" the configuration file
"keytbls.sys" the keyboard map for myaes compatible with Magic, this is an optionnal file, without translation
caractere is made by gemdos system.
"myaes.pal" VDI palette to load at start, this is a standard palette, that would said that is 256 colors in RVB
format from 0-1000 for each color(2 byte in big endian) and save in binary mode. This file is optional

Change the "myaes" folder location:
For launch myaes.tos you should add one argument to launch myaes.tos
This argument is:
MYAES_PATH=mypath for find "myaes" folder
For example in mint.cnf you should have something like this:
INIT= S:\gemsys\myaes\myaes2.tos MYAES_PATH=S:\gemsys\
That said myaes.tos will search it's "myaes" folder in S:\gemsys\

By default without MYAES_PATH= define, myaes.tos will search it's folder in "C:\gemsys\"



Configuration file:
This file is name "myaes.cnf" and find in the "myaes" folder

Since 0.80 syntaxe of this file have completly change and is in format very similar to mint.cnf

!!!!!! This new version is incompatible with previous version

If you need write path with space caractere you should put path under quote (ex 'my path with space caractere')


Expression                explanations

threads=-1               2 value possible 1 or -1 1 for use on single tos or if you wan't test as monoapplication
                          AES, -1 for multitask system should not be put on single tos system!

language=2               Put your language number here (as define in appl_getinfo()), this value is only use for
                          answer of appl_getinfo(AES_LANG) at this time

mouse_buttons=normal     If you wan't invert right and left button put value to 'inverse', default value is 'normal'

shell C:\desktop\desktop.prg Path for launch desktop, when this desktop quit, MyAeS will quit too! If desktop crash, MyAeS
                         will launch it again since 0.80 version

accpath = S:\acc\       Accessory path

cliboard = S:\clipbrd\  Cliboard path

hide_naes_magic_cookies = false   MyAeS is able to run above other AES from your desktop, it should be usefull to mask
                         cookie for Magic or NAES, for this put value to 'true'
                         
terminaison = wait        Should stay at this value other options crash!

memory = normal           This option should be now obsolete, it was for use myaes in memory protection, now myaes is fully
                        compatible with MMU and should not need change this value ('protected' and 'strict' should not be need anymore)
        
memory_rescue = 600      Ko memory to solve trouble of software that take all memory for themself, because selector
                          and form_alert need memory as independant software 600Ko looks a good value.
                        
stack_fix = true         Modification of supervisor stack for AES call, 'false' do not modify, 'true' modify, 
                         'true' is probably the best value, modify at your own risk!
                        
wdialog_emulate=false    MyAeS have (bad!) wdialog functions, to use it put 'true', prefer 'false' and install NDIALOG that work
                        not so bad. MyAeS add even if this option is false some minmal part of ndlg librarie to be able to
                        run Texel 2.2
                        
dialog_effects=false      'false': not display FMD_GROW SHRINK of form_dial(), 'true': display it

server_mode=true         MyAeS can run as server (multitask only) or not, probably as server is better choice on
                        multitask system because it use les system ressource by put in sleep AES client durring 
                        they wait (on Aranym that would said that host CPU wil not be use a lot, because AES 
                        application wait most of time AES messages!). On "single tos" MyAeS alway's use 0 of course
                        (no server possible), notice that on "single tos", MyAeS do not do cooperative multitask
                        so can't launch accessory only one application can run in the same time.

export TOSRUN=S:\tools\miniwin\miniwin.app
                        This is path for software that launch .TOS or .TTP software, this should
                        the VT52 emulator in windows here like "toswin2" or "miniwin" for example, in the same time var TOSRUN
                        is export to search with shel_envrn()
                        
timeslice = 10          Timeslice in ms for the AES

shutdown=poweroff       when desktop quit without any shutdown option, this is this option take into account:
                          'poweroff' system halt and poweroff if your computer support this (mint systeme call)
                          'reboot' system is reboot
                          'cold' system do a cold reboot
                          'halt' system is halt
                              
menucolor=grey          VDI color for menubar possible value: white,black,red,green,blue,cyan,yellow,magenta,grey,
                        lgrey,lred,lgreen,lblue,lcyan,lyellow,lmagenta
                        If texture are avaible for menu in the skins
                        folder, this value do nothing of course, but change background of diplaying menu in all cases.

texticon=transparent    It's mode for do back to icon texte or not, in classical AES, icon text back is draw in white
			for this change value to 'opaque', in MyAeS by default the text is draw in transparent mode for this
			put to 'transparent' the value.


mini_client=20          Prealllocation of memory for AES client, this is here for less memory fragmentation and best
                        robust AES, more client than this number can be launch.
                        
mini_win=40             The same as previous, but for windows.

skin=C:\gemsys\myaes\skins\  Path folder for skins, by default MyAeS will look in "myaes/skins/" folder


Video options:  At start you can choose your video mode with this informations

rezmode=3               The resolution type (look at getrez()) for video falcon, should be 3 for videl video mode

vsetmode=27             If MYAES_rezmode=3 then this value is take into account look at VsetMode() xbios function
                        (for video enhancer look at your documentation)

esetshift=0             For falcon use 0, for TT look at EsetShift() documentation (this was not test, 
                        perhaps it doesn't work!)
!!!!!!!!!!!

WARNING: If video mode is not good, on some computer as Milan, it can crash MyAeS at start!!!!

!!!!!!!!!!!

debug=false       at top right, and if you select caps lock all activity of AES will be display just above
			with true value else choose false for standard use.




Sliders options
scroll_delay = 100      when up, down, left, right arrow or page up, down, left, right there immediatly message
			from MyAeS then a time is wait before next message if mouse click is not realease, this
			time is in millisecond
scroll_slice = 25       If mouse click is still down on previous widget as describe in MYAES_widget_tempo1 message
			is send at specific time describe here in millisecond
			
	This two mode can be put to 0 for no control at full speed.

workarea = normal       This is classical mode for window managment ('normal'), there is experimental mode 'fullarea'
                        not fully finish (some software have trouble with it (sometime open window above menubar)), this
                        for futur feature, this is near same idea of WCCOWORK options in MyAeS but for all software, in
                        this mode application can't find any information of size of the windframe, so it will be possible
                        change it at fly for example.
                        
cookie_naes=true        'true' install NAES cookie, 'false' not install

cookie_magx=false	'true' install MagX cookie, 'flase' not install

realtime_winframe=true  'true' MOVE and RESIZE window is done in realtime 'false' non realtime move or resize
			'true' is only avaible if threads=-1 (multitask)
			This mode need to have "masreal.prg" software put in "myaes\desk\" folder 

flying_menu = true      'true' allow applications use all size of screen as desktop and display menu 
                               in a window for menu only when need
                        'false' classical menu

flying_menu_fix = true  'true' this option is usefull only if flying_menu = true, in this case the menu not auto close
			and so stay display alway's, but it have a short size.

app_topmost ZTASK        This an example to put all windows of ztask software on top                        
                        
Specific keyword

Now in myaes.cnf you can put your gem environment, launch applications in diffrent level

keywords:
    export VARENV=blabla  with export you can define gem environment here 'VARENV' with 'blabla' value 
    
    runtsrvdi C:\fvdi\fvdi.prg
    runtsr C:\gemsys\myaes\maesauto\*.prg
    run C:\tools\bubble.app
    
    runtsrvdi launch application before opening VDI screen workstation
    runtsr launch applications before AES install (after 'runtsrvdi'), in fact AES is already install but application 
           can't find it, this is usefull for launch specific file selector or any tsr.
    run    for launch gem application before desktop.
       All this options support launch with wildcard characters within the filename.


How to have multiple configuration files?

Since 0.68 is it possible to have diffrent MyAeS config file, the first one describe as before is need and some other configuration
file can be put the skin folder choose (or your default skin folder) and in $HOME\myaes\
This config file should be name myaes.cnf as first one, this is a text file as describe for the first one
but you have only to put in element you wan't to change with the default one:
example if you only write in the file:
menucolor=lmagenta
only color for menu display will be changed.


!!! MyAeS 0.80 is not working correctly on singletos (crash when quit fileselector
or form_alert - form_error)




List of Application


Working with MyAeS (* or some very small problems)

Adamas
Aes_lupe
Aniplayer
Awele
Cab
Calamus
Charview
CKBD Delux
Cops
Cresus
Decocalc
Desert Drain
Ease
EBmodel
Egale
Eureka
Expresso
EZedit
GCCShell
Gemdemo
Gulliver
Highwire
Inshape 3
Interface
Jinee 2 2.5
JML snapshot
Kandinsky
Kobold
Kronos
Luna 2.10
Lzshell
Miniwin
MintSetter
Mymail
Organizer
Ndialog
Papyrus 8-10
Parafinder
PureC
Qed
RSM
Start Me Up
Stguide
Stzip
Sysinfo
TTdigger
Taskbar 2.7*
Teradesk
Texel 2.2* 1.6
Thing 2.7
Toswin2
TowinOne
Vision
Windom lib
zbar
zbench
zview

Not working correctly

Arcview
Atmenu
Genea
Home Page Penguin
Multistrip
Taskbar 3.0


Crashing or freezing (test on Aranym with fVDI some crash with myaes other crash for an unknown reason)

GEM basic Editor
Iconnect
Jam
JGMT
Jinee 1.0
MyTask
Upsis
wdialog
Zcontrol


