                          Freedom V1.13
                          --------------
                         ('to choose...')

                           8th May 1995
         
         (c) 1995 by Christian Krger and Kolja Koischwitz

   EnhancedGEM 2.25 (c) 1995 by Christian 'appl_getinfo' Grunenberg

                 XIMG decoder (c) by Dirk Haun


Overview
========
Multitasking is the future for Atari software. To survive into this era 
software has to adapt. Most experienced programmers have already 
implemented dialogs, the time for flying dialogs has flown! Only two 
relics remain from this bygone age, the file selector and alert boxes.
There's no way to bypass these system blocking relics, at least there 
wasn't until Freedom arrived and set your applications free!

The unbelievable feature list:
------------------------------
-8 non-modal file selectors at the same time!
-Parallel processing capability!
-Freedom alert boxes can optionally be placed in windows
-Any program which understands the VA_START protocol is no longer blocked!
-Long filename support
-Font, size and colour in directory window are user definable
-User definable font and size
-Drag&drop font protocol support
-Keyboard layout 99% Selectric compatible
-Multiple file selection (naturally Selectric compatible)
-Up to 40 user definable filenames, paths and extensions
-History popup to select from last 20 selected files
-The ultimate in intuitive interface design using Enhanced GEM featuring 
  Short paths, minimal clicks, shortcuts and Popups
-Left handed mode!
-Unix masks (*,?,[]) and extension lists (*.TOS,*.PRG)
-Icons representing files/folders
-Drag&drop support (paths and files and be dragged to the file selector 
  (AV, MultiTOS, Drag&drop) and vice versa
-Messages concerning directory changes evaluated using SH_WDRAW, 
 AV_PATH_UPDATE, SC_CHANGED
-Fuzzy file location! Freedom tries everything possible to ascertain a 
 reasonable application name even under single TOS. Freedom looks for 
 XAcc, AV and even Menutitle0 if the string looks promising (not the Atari 
 symbol or Desk).
-File delete, new file/folder creation and file/folder info
-Search using mask to select or deselect files
-Export paths or selected files as ASCII listing to the Clipboard
-Full communication with available AV Server (eg Thing/Gemini)
-Delete and touch files
-File delete, copy, move via Drag&drop, using an AV Server or Kobold 2 
 running in parallel using the KOBOLD_PATH environmental variable

Reasons to use Freedom - A checklist
=====================================
-You can't resist the feature list!
-You use a multitasking OS
-You like using superb software which pushes GEM to the limit
-You have a Flydial, file selector or alert open and:

 ... Your comms application rings
 ... Your comms application reports an up/download error
 ... You want to run your GEM ray tracer
 ... You want to use your GEM packer
 ... Your window clock stops
 ... You press F1 and your beloved Kobold doesn't appear
 ... Your MagiC popup is no longer accessible
 ... You can't access the menu bar
 ... Your screenshot program can't take any more pictures
 ... etc etc

Add the problems caused by system modal dialogs ('Flydials') together with 
programs which don't offer long filename support and it's time to ditch 
them and see what Freedom has to offer!

Installation
============
-Add FFSEL.PRG to your Auto folder
-Rename FREEDOM.APP to FREEDOM.ACC to install as an accessory
-Under MagiC/MiNT FREEDOM.APP can be started as desired. (Under MagiC from 
 the APPS folder or under MiNT in GEM.CNF)

If you're short of memory there's another option so long as your computer 
and hard disk are fast enough.
Create a file called FFSEL.INF which contains the path to FREEDOM.APP 
(including the filename) and add it to your Auto folder alongside 
FFSEL.PRG for example:

C:\FREEDOM\FREEDOM.APP

Using this method the main program FREEDOM.APP is not memory resident but 
loaded into memory as required. After a period of inactivity (defined in 
FREEDOM.CNF using the #SHUTDOWN parameter) FREEDOM.APP can also be 
automatically unloaded from memory.

Loading Freedom in and out of memory isn't a problem under a multitasking 
OS. Under single TOS we recommend you install Freedom memory resident BUT 
it is possible to use Chameleon, the accessory loader programmed by 
Karsten Isakovic.
For those determined to ignore our advice a patched version of Chameleon 
is included (with Karsten's permission)) in this distribution. This has 
been patched so that:

1) On reloading an accessory an AC_OPEN isn't automatically sent.
2) The comprehensive crash using appl_find('?AGI') is rectified.

For some strange reason there are a few users who wish to eradicate all 
their free memory by running Freedom AND Selectric! This is now possible 
using the program KILLFSEL which deletes the Selectric cookie jar entry.

If, during installation, FFSEL finds a FSEL Cookie less than v2.0 it 
replaces this with a pointer to it's own structure. If you luck holds 
Freedom appears with all clean programs leaving Selectric to clean up 
the rest (including the 'Start program...' entry in the MagiC popup.

FFSELR.PRG is offered as an alternative to FFSEL.PRG and handles redraw 
messages by filling the application windows with the Freedom logo. When 
the application regains control it can restore its windows.
This method is less compatible than the new version but on slower 
computers saves a few superfluous redraws, it's also a few Kilobytes 
larger. If you'd don't like the fill pattern you can change it using a 
program written by Andrew Mayer. The choice is yours!

How Freedom works
==================
Freedom consists of two parts:
-A file selector/Alert box 'Server' (FREEDOM.APP) which runs as a parallel 
 application or accessory and waits to be activated by calls via the 
 defined interface (usually AES messages).
 A number of file selectors and alert boxes which can be opened is only 
 limited by available memory and window handles.
 The server reports itself on starting using the XAcc Protocol and 
 installs the extended XAcc Names 'XFileSelect\0XFontAck'.
  
-A resident part FFSEL.PRG. Applications which call the file selector or 
 an alert box sends an appropriate request to the Server which (if 
 necessary) starts itself in parallel and waits in an event loop for a 
 reply from the Server.
 Inside the event loop various other messages are handled simultaneously 
 (Window redraw, move, size, top, send to back etc) as long as the 
 alerts/file selectors are active and the menu bar of the calling program 
 is dis/re-enabled.
 By cunning programming this part is up to 8 times re-entrant which means 
 up to 8 different applications, alerts or file selectors may be open 
 before the trap handler ignores any further calls and passes an alert to 
 the system.
 This part also handles conversion of the reply from Freedom using one of 
 the three Selectric protocols. This does however present a problem 
 because only a single Selectric cookie is passed it's possible another 
 application/s could try to communicate simultaneously. To minimise this 
 risk the resident FFSEL sits on messages for applications and passes them 
 on later. The following are specifically 'swallowed':

   (AC_CLOSE)      ; Sadly, due to problems with Chameleon
    AC_OPEN

    MN_SELECTED
    WM_CLOSED, WM_FULLED, WM_ARROWED,WM_MOVED
    WM_HSLID, WM_VSLID, WM_SIZED, WM_UNTOPPED, WM_TOPPED, WM_ONTOP
    WM_NEWTOP, WM_ICONIFY, WM_UNICONIFY, WM_BOTTOMED

    VA_START, VA_STARTED, VA_DRAGACCWIND

    AV_SENDKEY     ; AV server should be the Freedom Protocol
    AV_STARTPROG   ; supported, if it's a file selector
    AV_OPENWIND    ; call
    AV_OPENCONSOLE ;

    AP_DRAGDROP    ; answered with DD_NAK
    
    WM_REDRAW      ; passed once (maximum) for each window sent by 
    WM_MOVED       ; an application.
 
Operation
=========
Although the Freedom interface is primarily designed to take advantage
of the latest enhanced GEM tools to offer the ultimate in point and click 
simplicity we haven't forgotten users who prefer to navigate menus using 
keyboard shortcuts.

Changing drives - using the mouse              Keyboard shortcut
-----------------------------------------------------------------------
Click on the drive letter section of the path  [Control]+L
and a popup containing the available drives    Displays the popup
is displayed. Alternative:
                                               [Alternate]+Drive letter
                                               Changes to drive

Changing the file extender - using the mouse   Keyboard shortcut
-----------------------------------------------------------------------
Click on the file extender section of the 
path using:                       
.. Left click:   Application specific masks    [Control]+Y
.. Right click:  User defined masks            [Control]+X
.. Left double click: Dialog to enter mask     [Control]+E
.. Right double click: Change between *.*
     and the mask passed by the calling
     application 
                                               Alternative:
                                               [Control]+Number pad 1-0
                                               Selects from the first 
                                               10 defined masks.
                                               [Control]+Number pad .
                                               selects the default mask
                                               [Control]+Number pad *
                                               sets maske to *.* 
                                                 
Change directory level - using the mouse       Keyboard shortcut
-----------------------------------------------------------------------
Left click on the directory section of the 
path using:
.. Directory:   popup with alternative
                folders is displayed.
.. Slash '\':   The path is 'truncated' at     [Control]+0 to 0 steps
                the level selected. This       1-10 levels up 
                feature is similar to the 
                'Mac-Path' concept.
.. last '\':    All directories at this level
                are displayed in a popup.

Left click on the Closer (icon to left of      [Control]+[Backspace] or
path) to move up a directory level.            [Control]+[Undo]
Right or double click to return to the root    [Shift]+[Control]+
directory                                      [Backspace] or
Direct single or double click on a folder      Move to folder using the
in the directory window changes to the         scroll arrows then press 
folder.                                        either the [Return] or
Default: Double click needed to open folder    [Enter] key

Double left click or single right click on     [Control]+P
the path on or before the last backslash       Alternative:
to display the user-defined path popup.        [Alternate]+1-0
                                               selects from the first 
                                               10 user-defined paths.
                                               [Alternate]+[Esc]
                                               selects the default path
Current path (including mask) to Clipboard.    [Control]+C
Paste current path (including mask) from
Clipboard.                                     [Control]+V
     

De/select files - using the mouse              Keyboard shortcut
-----------------------------------------------------------------------
To select any file use a single left click.
Left click and hold the button down then
drag to select consecutive files.
The directory window automatically scrolls
in the appropriate direction as the upper or
lower edge of the window is reached.

Note! If you don't start the drag action
quickly enough the pointer changes to the
hand Drag&drop icon. The time delay before
the cursor changes is user definable.

To select two or more files which are not
adjacent to each other, hold down either
[Shift] key and select them in turn.
To deselect a selected file select it again
whilst holding down either [Shift] key.

To de/select all files left click on the       [Control]+A   
fuller icon to the right of the path in
the directory window title bar.
To invert the selected files right click on    [Shift]+[Control]+A
the fuller icon.
To select files using a mask double click on   [Control]+S
the fuller icon and a 'Select files' dialog
appears ready to enter your desired mask. On
exiting the dialog using the 'OK' button all
matching files are selected.
To deselect files using a mask hold down the   [Shift]+[Control]+S
[Shift] key and double click on the fuller
icon to display a 'Deselect files' dialog.
A popup containing the pre-defined files is    [Control]+M or
called by right clicking on 'File:' text to    
the left of the editable field.
A left click displays the 'History' popup      [Control]+<
which contains the last 20 files selected.

Selecting file/s with either of these two
Popups automatically closes the Freedom and
passes the file/s to the calling application.
This behaviour can be inhibited by holding
the [Shift] key down during selection.
                                               Using the arrow keys the 
                                               selected file can be 
                                               changed using the selection 
                                               bar like a cursor.
                                               
                                               To scroll the directory 
                                               window a page at a time 
                                               hold down the [Shift]
                                               key. 
                                               
                                               To select the first/last 
                                               entry press [ClrHome]
                                               /[Shift]+[ClrHome] or
                                               [Control]+Cursor up/
                                               [Control]+Cursor down.
Freedom can also be configured so a right
click in the directory window is interpreted
as a [Shift]+left click action.

Copy complete path (with mask) to Clipboard    [Control]+C
Collect path (with mask) from Clipboard        [Control]+V

File scrolling - using the mouse               Keyboard shortcut
-----------------------------------------------------------------------
The simplest method is a left click and hold   See above 
action to scroll through the files. The        [Control]+Cursor up
slider works just like a standard GEM slider   [Control]+Cursor down
only better because of 'real time' scrolling.

If the #RSCROLL option in the configuration
file is active a single right mouse click
anywhere inside the directory window
activates 'Dynamic scrolling'
(As used in the 'Thing' alternative desktop')


Changing the Sort method - using the mouse     Keyboard shortcut
-----------------------------------------------------------------------
Right or double click on the slider button     [Control]+J
to open the sort popup (locating the sort      Alternatives:
popup on the slider button means it's always   [Control]+H: By name
handy when you need it).                       [Control]+Z: By date
                                               [Control]+G: By size
                                               [Control]+T: By type
                                               [Control]+K: No sort
                                               [Control]+R: Reverse

Drag & drop - using the mouse                  Keyboard shortcut
-----------------------------------------------------------------------
A left mouse click and hold over a selected    [Alternate]+Arrow keys
file (or combination of selected               to manoeuvre the mouse
files/folders) changes the mouse pointer to    pointer over the
the hand icon and surrounds the selected       selected objects, then
objects with a ghosted frame.                  [Alternate]+[Insert] to
These objects can now be dragged to various    'grab' the objects.
places around you desktop depending on your    Now the objects can be
system. The Info line along the bottom of the  dragged using the
directory window reports the likely result of  [Alternate]+Arrow keys.
releasing the left mouse button at any time.

If the files are dragged onto a badly
programmed application Freedom cannot
foresee the outcome. Often nothing at all
happens because the window of an AV Server
(Gemini/Thing/Ease or other program) has
already requested the destination.

If an AV Server or Kobold is installed
Freedom can use this for Drag&drop copy and
move operations between windows and other
Freedom file selectors.
A further Freedom file selector can be        also [Control]+[Help]
opened (not bound to any application) by       or [Shift]+[Help]
double or right clicking on the Freedom
logo.

Freedom functions - using the mouse           Keyboard shortcut
-----------------------------------------------------------------------
Delete: Select the object/s to be deleted      [Control]+D
then click on the Wastebaket icon or drag the
selected objects to the icon.

New object: Click on the folder icon to        [Control]+N
display the 'New object' dialog.
Enter the desired folder/file name to be
created and select the desired button to
create an empty (zero length) file or folder.

Object Information: Select the object/s you    
would like Information about followed by the
desired action. Alternatively you can drag
the selected object/s to the icon.
.. Left mouse click on the Info icon:          [Control]+I (or [Tab])
   Displays the 'Object-Information' dialog
   for each object in turn.
   For files the dialog displays the file
   creation date and time, filename, size and
   status flags (Locked, Hidden, System and
   Archive). The status flags and filename
   are editable.
   For folders the dialog along with the 
   editable folder name.
   
.. General information ('Count files'):        [Shift]+[Control]+I 
   After selecting one or more objects right
   mouse click on the Info icon to display an
   'Information' dialog which begins a
   recursive count then displays the total
   number of files, folder and bytes.
   If the count is started in error or takes
   too long press the [Esc] key to abort the
   count.

.. Drive info ('Count files'):                 [Shift]+[Control]+I 
   Left or right mouse click on the Info icon
   without any objects selected to begin a
   recursive count of all the files on the
   current drive. A dialog displays the total
   number of files, folder and bytes.
   If the count is started in error or takes
   too long press the [Esc] key to abort the
   count.

.. Touch:                                      [Control]+B
   The 'Touch' button updates (recursively)
   the file creation date and time for each
   selected file. This function is only
   accessible via the keyboard as there's no
   more room for icons!
   
Export to Clipboard: Select the desired        [Control]+C
object/s then drag them to, or click on, the
Clipboard icon.
A file SCRAP.TXT will be created listing the
selected paths and filenames.

Import from Clipboard:                         [Control]+V

The contents of the file SCRAP.TXT is read
and  

Right mouse click on the clipboard to
import the path from SCRAP.TXT. Freedom
jumps to select any specified object/s.
Naturally if SCRAP.TXT contains garbage
anything can happen!
It's also possible to 'exchange' object/s
with a window in the Gemini desktop.
Highlight the desired object's in a Gemini
window then press [Control]+C to export it
to the Clipboard and use [Control]+V to 
import the paths in Freedom. Unfortunately
this currently doesn't work in the other
direction due to a faulty Gemini function.

Find file: Click on the magnifying glass to    [Control]+F
display the Object search dialog. Enter a
search mask and select whether the current
folder, drive or all drives will be searched.
If the environmental variable DRIVEMAP is set
this is used when search all drives is
selected.
Click 'OK' to start the search and any
keypress [Esc] to abort at any time.
If a matching file is found the search is
paused and its name is displayed in the wide
button beneath the Search line.
Four options are available:
.. Wide button: The file is passed to the
   underlying file selector which passes the
   file to the application and automatically
   closes Freedom.
.. OK: Single left click passes the file to
   the underlying selector with the matching
   file selected and entered in the 'File'
   editable field. A double or right mouse
   click has the same effect as clicking on
   the wide button.
.. Again: Searches for another matching file.
.. Cancel: Close the dialog without action.

Freedom normally puts an 'invisible' link
between the search dialog which means it's
only possible to open one search dialog per
file selector.
This option offers the possibility of          [Shift]+[Control]+F
opening multiple search dialogs which can
all run even under Single TOS!
Don't blame us if your hard disk explodes!

Open object: Primarily for multitasking OS     Select file/s then press
users. A double/right mouse click, whilst      [Control]+O
holding down either the [Alternate] or         
[Control] key, on an object/s opens the        
object/s.
i.e. if a viewer is configured to handle a     Alternatively a single
certain filetype a message is sent with the    file can be opened using
selected file/s. Freedom also starts the      [Control]+[Return]
viewer in parallel if it's not already memory
resident. Since this isn't very flexible
Freedom lets the AV Server (where possible)
handle this because it can also take into
account installed applications etc.


The One-step auto-locator - an overview...
------------------------------------------
A certain other file selector offers an Auto-locator but ours is different 
and we're proud of its functionality!

Our 'One-step auto-locator' is similar in operation to the 'Completion' 
command anyone familiar with command shells should recognise.
If the locator is switched off it can be activated by pressing the [Tab] 
key. There is an apparent conflict with the 'Object info' function which 
is also assigned to the [Tab] key. To avoid this conflict 'Object info' is 
also assigned to the [Control]+[I] and the 'One-step auto-locator' is also 
assigned to the [Control]+[Tab].
By default (set in the CFN file) the Freedom locator searches for both 
files and folders. Holding down the [Shift] key during a search restricts 
the search to files only.
The 'One-step' feature steps through each matching file in turn before 
looping back to the first match for another cycle, the ultimate in 
convienience!


Six little helpers - the popup menus
------------------------------------
Have you ever noticed how often you working on the same files? Sometimes 
days or even weeks at a time! And each time you have to select them using 
the file selector. With Freedom it doesn't have to be this way! If you're 
used to using other file selectors which offer user definable paths and 
extensions you'll know just how useful they are. No doubt you'll also have 
noticed how quickly you run out of slots! Freedom offers up to 40 full 
paths and extensions which should be enough for most people!

File popup
----------
A single right mouse click on the word 'File:' preceding the editable file 
selection field displays the File popup, simply select the desired file 
and Freedom automatically closes itself and passes the specified file to 
the calling application.
Up to 40 files with full path entries can be defined under the #FILES 
section in FREEDOM.CNF.
A single click on the File popup displays files which match the currently 
active mask and a double click displays all files up to the maximum which 
can be fitted on screen. To display all available files select the '*.*' 
mask.

History popup
-------------
A single left mouse click on the word 'File:' preceding the editable file 
selection field displays the History popup, simply select the desired file 
and Freedom automatically closes itself and passes the specified file to 
the calling application.
This popup contains the last 40 (maximum) selected files which makes it 
reall easy to find files quickly.
If the #HISTFILE <ful path> is set in FREEDOM.CNF the contents of the 
history popup is stored and restored next time you power on your machine 
and run Freedom.
A single click on the History popup displays files which match the 
currently active mask and a double click displays all files up to the 
maximum which can be fitted on screen. To display all available files 
select the '*.*' mask.

Path popup
----------
A double/right click anywhere before the last '\' on the path line 
displays the Path popup, simply select the desired path in the popup and 
Freedom jumps to the specified directory, all that remains is select the 
desired file followed by the 'OK' button.
Entries can be changed by opening the popup with the desired directory and 
mask active then selecting an existing slot with a double click or a 
single click whilst holding down the [Shift] key.
Up to 40 files can be defined under the #PATHS section in FREEDOM.CNF.
 
Extension popup
---------------
A right mouse click to the right of the last '\' on the path line displays 
the Extension popup, simply select the desired extension mask to display 
files of the desired type in the directory window. The first entry in this 
popup is always '*.*'.
Entries can be changed by right clicking to the right of the last '\' on 
the path line then selecting an existing slot with a double click or a 
single click whilst holding down the [Shift] key.
A double click to the right of the last '\' on the path line displays the 
'New mask' dialog. Enter the desired mask and select 'OK' to activate the 
mask.

Currently edited settings (in the Path and Extension Popups) are NOT 
stored in the CFN file and are consequently lost when you reboot your 
machine. You'll have to edit the CFN file manually until we change 
Freedom.

Drive popup
-----------
A left mouse click before the first '\' on the path line displays the 
available drives.

Folder popup
------------
A left mouse click on or before the last '\' on the path line displays a 
popup containing the folders at the selected directory level.
 

General points 
--------------

-The small triangular icon at the bottom right can be used to resize the 
 number of lines and columns used by Freedom.

-Freedom always allows multiple file selection however on selecting 'OK' 
 it depends on the calling application how many files are loaded. In most 
 cases this is only a single file.

-The way Freedom is designed often means there are two alternative ways 
 of doing things. Some people prefer pressing the mouse button down for 
 the whole time during a action, others prefer to click once to start and 
 once briefly again to finish. Freedom offers both methods in the 
 following cases:

 In all Popups, using the Slider, as a flying dialog (with Freedom 
 running in modal mode) using the size icon and finally even using 
 Drag&drop (Grab using [Control] or [Alternate] keys).

-The (Selectric compatible) function keys can be turned off (using the 
 #NOFKTKEYS option in CFN) so they can passed to an AV Server.

-The 'Again' button in the Search dialog offers an exceptional function:
 Hold down this button using the mouse to 'pseudo skip' files you're not 
 interested in. Alternatively use the keyboard shortcut [Alternate]+[W] in 
 which case keyboard events are surpressed!

-Optionally Freedom can display all its alert boxes completely in the 
 background in which case they can be controlled without holding the right 
 mouse button down. If in spite of this option you wish to top a Freedom 
 alert this you can either click on the window title or briefly click any 
 non-selectable background area!

If you've read enough about features we suggest you have a play. After a 
few days (at most!) you'll have forgotten your old file selector and 
appreciate just how intuitive and powerful Freedom's interface really is!

Overview of Freedom keyboard shortcuts
=======================================
[Alternate]+A-Z          Select drive
[Control]+[Backspace]    Step one directory level up
[Control]+[Undo]         Step one directory level up
[Control]+A              Select all
[Control]+[Shift]+A      Invert selection
[Control]+D              Delete selected folder(s)/file(s)
[Control]+N              New object
[Control]+I              Object info
[Control]+[Shift]+I      File count, drive info
[Control]+B              Touch file/s
[Tab]                    Object info OR Autolocator
                         (Depends on #SHELLTAB option in CNF file)
[Control]+[Tab]          One-step auto-locator; cyclic folder and files
[Control]+[Shift]+[Tab]  One-step auto-locator; cyclic files only
[Control]+F              Search for object, linked to current file 
                         selector (F for find)
[Control]+[Shift]+F      Search for object, independent of selector
[Control]+C              Copy current status to clipboard
[Control]+[Shift]+C      Export directory listing according to the
                         #NICEFORMAT formt string to clipboard
[Control]+V              Import status from clipboard
[Control]+H              Sort by Name; H like Selectric [Control]+Z    
                         Sort by Date; Z for Zeit (German for Time)
[Control]+G              Sort by Size; G for Gre (German for Size)
[Control]+T              Sort by Type 
[Control]+K              Unsorted; K for Keine (German for none)
[Control]+R              Sort in Reverse
[Control]+[Shift]+S      Deselect files using mask
[Control]+S              Select files using mask
[Control]+E              Enter mask (E for extension)
[Control]+Y              Open application specific Extension popup
[Control]+P              Open user defined Path popup
[Control]+J              Open Sort popup
[Control]+X              Open user defined Extension popup (eXtension)
[Control]+M              Open filtered user defined File popup
[Control]+[Shift]+M      Open unfiltered user defined File popup
[Control]+<              Open filtered History popup (< for backwards)
[Control]+[Shift]+<      Open unfiltered History popup
[Control]+L              Open Drive popup
[Control]+W              Cycle windows forwards
[Control]+[Shift]+W      Cycle windows backwards
[Alternate]+[Control]+W  Global window change (only via AV Server)
[Control]+[Return] or    Open selected object (under a multitasking OS
[Control]+O              or AV Server eg Gemini/Thing etc)
[Control]+1-0            Select directory level from 1 to 10
[Alternate]+[Esc]        Select the default (home) path
[Alternate]+1-0          Select from first 10 user defined paths
[Control]+Num.Pad .      Select default extension
[Control]+Num.Pad 1-0    Select from first 10 user defined extensions
[Control]+Num.Pad *      Select *.* as mask
[Control]+Num.Pad /      Same as Freedom window fuller icon
[Control]+Num.Pad +      Same as [Cursor down]+click on 'OK' button
[Control]+Num.Pad -      Same as [Cursor up]+click on 'OK' button
[Shift]+[Esc] or         Re-read directory
[Control]+[Esc]          
[Esc]                    Clear 'File' editable field
[Return] or [Enter]      Same as 'OK'. Any selected files/folders will 
                         be passed to the calling application as 
                         file/s
[Shift]+[Return] or      Same as 'OK'. Any selected files/folders are
[Shift]+[Enter]          ignored and solely the text in the 'File' 
                         editable field is passed as a file to the 
                         calling applications
[Control]+Q, [Undo]      Same as 'Cancel'
or [Control]+U                   
[Help]                   Freedom info
[Shift]+[Help] or        Open another (application independent)
[Control]+[Help]         file selector
[Alternate]+[Control]+
Space bar                De/Iconify Freedom selector or alert
[Control]+Cursor up      Same as Freedom up scroll arrow
[Control]+Cursor down    Same as Freedom down scroll arrow
Cursor up                Move selected file 'Cursor' up
Cursor down              Move selected file 'Cursor' down
[Shift]+Cursor up        Move selected file 'Cursor' up a page
[Shift]+Cursor down      Move selected file 'Cursor' down a page
[ClrHome]                Select first entry in directory window
[Shift]+[ClrHome]        Select lasst entry in directory window

The function keys F1-F10, [Shift]+F1-F10 (=F11-F20) are user 
definable.

Parallel processing capability
==============================
This is the crucial feature of this release. Freedom, just like a 
co-operative operating system, allocates available processor time between 
all the currently running tasks.

This means that under normal (co-operative) TOS versions Freedom can work 
on a file search whilst reading a directory or performing a file count for 
a drive. Even better each action started in Freedom (Search, delete, file 
counts, directory reading ..) are managed as extra tasks by Freedom and 
can even run in the background!

This feature is under active development and the next version should see 
the inclusion of built-in Copy and Move operations.

If you're thinking 'Aha, I'll wait until then before I register..' please 
DON'T! Register and make your requests known. Shareware developments are 
motivated through a healthy level of registrations!

Until this version we've allowed one search dialog per file selector and 
it's bound to the file selector it was initiated from. However using 
[Control]+[Shift]+F it's now possible to launch multiple independent 
search operations, set them all off to find different files, close 
Freedom and sit back and watch your hard disk explode!

Other operations including file counts, drive info, delete, touch and file 
info operations can run at the same time, the hard part is keeping on top 
of all the activities!

The 'De/Select files' and 'Enter new mask' dialogs can only be started 
once and are bound to the file selector from which they were called.

Drag and drop
=============
Freedom can pass and receive files using Drag&drop with applications 
using MultiTOS and AV Drag&drop.

Generally this means:

-You can Drag&drop files, holding the [Shift] key down, to a destination 
 Freedom file selector which will automatically close and pass the 
 dragged files to the calling application.
 (If you'd rather not hold the [Shift] key down you must Drag&drop the 
 files onto the the 'File:' editable field.
-A Drag&drop without modifier keys copies (if possible).
-A Drag&drop holding down the [Control] key moves (if possible).
-Additionally holding down the [Alternate] key during a copy/move 
 operation enables objects to be first renamed.

The way it works (Methodology)
------------------------------
Where possible Drag&drop copy/move actions will be left to the AV Server 
(Thing/Gemini). If no AV Server is available Freedom tries to copy/move 
the files itself. Freedom cannot do this without the help of Kobold which 
must be configured for use with Freedom either in memory (Single TOS) or 
available on your disk.

Drag your files to another unblocked application and Freedom asks the AV 
Server whether it recognises the destination application then passes the 
files, if necessary via an intermediate AV Server. If no AV Server is 
available or the application is unknown then (as a last attempt) a 
VA_START is sent to the owner of the window (unless this can be determined 
using Appl. 0).

Freedom can also communicate with applications (for example Gemview) 
using the MultiTOS Drag&drop (via pipes) although with most applications 
this involves a delay of several seconds. Applications which support 
MultiTOS Drag&drop can have their filenames, without extensions, added 
under the #PIPEDD section of FREEDOM.CNF.

Dragging object/s onto Freedom's path line selects the object/s (just 
like dragging object/s to the 'File' line) except Freedom remains open.

Configuration
=============
Freedom is highly configurable, the options include:

-Font, size, colours and line spacing in the selector directory window
-Scroll bar position to left/right of directory window
-Various delay actions
-Separate format string for 8.3 and long format filenames
-Whether case sensitivity is observed
-Whether the auto locator is active and matches files and folders
-Whether the alert box buttons are all the same width
-Where Kobold is located (Environmental variable is checked)
-Name of file viewer
-Name of search utility
-Function key layout
-Which files are interpreted as executables
-Whether folders are opened using a single or double click
-Whether a right click in the directory window scrolls (like Thing)
 or (like everywhere else) a double click is used
-Whether background operation of window dialogs is active
-Whether the file selector opens under the mouse
-Number of lines/columns for the directory window
-Up to 40 user defined files
-Up to 40 user defined paths
-Up to 40 user defined extensions
-The path to search for the Freedom file icons (FREEDMxx.IMG)
-Rules (as masks) which control file icon display
-List of applications Freedom should run in modal mode
-List of applications which do not co-exist with Freedom
-List of applications which Freedom can call using the VA_START trick
-Whether Freedom displays its alerts in windows

Currently these parameters can only by changed by editing the CNF file in 
a text editor (Everest etc) but don't panic! The CNF file is heavily 
commented and it's our intention to add a set-up program to ease 
configuration. Some changes only take effect on re-launching Freedom.

On starting Freedom searches for its configuration file under a name 
which corresponds to the current screen resolution (using the same method 
employed by Gemini).
For example at 640x400 resolution 06400400.CNF, at 1280x960 resolution 
12800960.CNF etc. If Freedom can't find a file specifically for the 
current resolution it searches for FREEDOM.CNF and if this fails default 
values are used instead.
Freedom searches for it's configuration file using the shel_find() call 
which means the search is left to the AES. The AES searches the current 
directory and all directories listed in the $PATH environmental variable.
Using the Image path (#IMAGEPATH) variable in the CNF file it's possible 
to set a different image file for each colour depth and resolution and 
similarly, using the Font setting (#FONTID) different fonts for each 
resolution can be set up.

Example:
--------
Actual folder containing Freedom:

03200200.CNF
Could have an entry: #IMAGEPATH C:\FREEDOM\FDIMG\SMALL\

06400400.CNF
Could have an entry: #IMAGEPATH C:\FREEDOM\FDIMG\NORMAL\
            
The icon image file at 320x200 resolution would be searched for in: 
'C:\FREEDOM\FDIMG\SMALL\'
At 640x400 resolution 'C:\FREEDOM\FDIMG\NORMAL\' would be searched 
instead.

The Image filenames denote the colour depth, for example:
FREEDM04.IMG is 4 bit or 16 colours deep
FREEDM08.IMG is 8 bit or 256 colours deep

Configuration file notes
------------------------
Freedom reads the file line by line. Any line preceded with a semi-colon 
';' character is ignored. All other lines are searched for recognised 
keywords, for example #AUTOLOCATE. Keywords all begin with a hash '#' 
character. If no keyword is found the line is assumed to belong to the 
previously recognised keyword. Some options are followed by a list, for 
example #PATHS where up to 40 lines containing paths may follow.

Exact information about each individual option can be found in the example 
configuration file included in the distribution and can be viewed and 
edited using your favourite text editor (Everest etc). Be sure to keep a 
back-up copy before making changes!


The Image masks and corresponding masks
=======================================
Freedom reads FREEDOM.CNF and searches the path specified by #IMAGEPATH 
for the XIMG format files FREEDMxx.IMG where 'xx' represents the number of 
bitplanes, for example:

Monochrome resolutions have 1 bitplane and load:  FREEDM01.IMG
16 colour resolutions have 4 bitplanes and load:  FREEDM04.IMG
256 colour resolutions have 8 bitplanes and load: FREEDM08.IMG

After loading the appropriate image (if available) it's divided into 
individual icons, one for each masks defined under the #IMAGEMASKS section 
of FREEDOM.CNF. For example if the loaded image is 16x64 pixels high/wide 
and 4 masks are defined the image is divided into 4 separate 16x16 pixel 
icons.

Note! If you add a new mask line or change the height of the font you'll 
need to edit the appropriate image to ensure sensible icon display. Always 
work on a back-up!

The Format string
-----------------
Freedom makes it easy to format the entries in the directory window to 
suit your needs. In addition to the standard 8.3 format (8 character 
filename followed by a period and 3 character extender) other file systems 
which use long filenames or other formats can be accessed.

The display format is handled using a single format string in which the 
percent '%' character plays a special role. Let's set-up a string which 
formats the directory window listing to display the filename, size, date 
and time as follows:

:
EVEREST  PRG  154.510  29.10.94  09:41
EVEREST  INF      840  09.01.95  11:36
:

First the filename is listed in standard 8.3 format followed by the size 
up to a maximum 9 digits followed by the date and time without seconds. 
Here's the format string:
 
#FORMAT %-F %-E%9K  %T%2D.%2M.%2Y %T%h:%m

The format string uses the percent '%' character as a place marker for 
each attribute, the following attributes are available:

F     Filename up to the last period (if period used)
E     Filename from the last point (if extension used)
N     Full (unformatted) filename
D     Day
M     Month
Y     Year (without century 00-99)
h     Hour
m     Minutes
s     Seconds
S     Size in Bytes of file in '13456789' format, folders excluded
P     Size in Bytes of file in '1.345.678' format, folders excluded
K     Size in Bytes of file in '13456789' format, folders '<folder>'
T     Use the clock symbol for today's files, otherwise nothing
A[xx] Attribute bit of the files   [-a] Default character
W[xx] Write protected file status  [-r] Default character
H[xx] Hidden bit file status       [-h] Default character
Z[xx] System bit file status       [-s] Default character
%  The percent character used to denote attributes

Tabs  (Pseudo attributes):
L     Left justified tab (character by character)
C     Centred tab (character by character)
R     Right justified tab (character by character)
l     Left justified tab (pixel by pixel)
c     Centred tab (pixel by pixel)
r     Right justified tab (pixel by pixel)

(Suggestions for other attributes welcomed!)

Each attribute displayed by Freedom has a default width. To make the 
width wider or narrower you can set the new width directly between the '%' 
character and the attribute (eg %9P). Freedom right-justifies all 
attributes narrower than the field width. If you'd prefer to left-justify 
attributes insert a '-' immediately after the '%' part of the attribute, 
the '%-20N' start of the following example does this:

On a system supporting long filenames it's not so important to use 
separate attributes for the filename and extender, here's an example:

#LONGFORMAT %-20N%9P %2D.%2M.%2Y

The directory window output leaves more room for the long filenames:
:
EVEREST.PRG           154.510 29.10.94
EVEREST.INF               840 09.01.95
:

Proportional fonts
------------------
With the introduction of tab handling (%L,%C,%R,%l,%c,%r) Freedom can now 
make practical use of proportional fonts.
The format string is used as the horizontal 'cursor' which together with 
the tab attributes provide good control over the directory window display.

%l or %L displays left justified output to the right of the cursor 
position, %c and %C display centred output around the cursor postion and 
%r and %R display right justified output to the left of the cursor.
All the tab attributes are strung together into a Format string. The 
offset values are always relative to the previous tab position.

Negative tabs are allowed and text could overlay other text although this 
is likely to result in an untidy display (!) If no tabs are active, each 
attribute has a default width, which is padded with space characters to 
the left and right as needed to fit the default width.
Using proportional fonts this is not desirable so it's important the first 
attribute in the format string is a tab. Here's an (ugly) example:

%12R%N%6C%P%6L%2D.%2M.%2Y %T%h:%m

'%N' displays the full filename right justified to 12 character spaces. At 
this point the cursor is positioned 12 character spaces from the left 
border. Next follows a centred tab which moves the cursor a further 6 
places to the right and '%P' displays the size of the file centered around 
this position. The cursor is now 18 character spaces from the left border. 
Finally the cursor is moved another 6 characters to the right to display 
the rest of the format string left justified 24 character spaces from the 
left border.

The VA_START trick
------------------
Using the VA_START message (Gemini/Thing/Ease) many programs can be 
'tricked' into loading file(s) without loading another copy of itself into 
memory.
Calling Freedom from an application which understands the VA_START 
message (and is configured in the CNF file) causes Freedom to send a 
simulated message back to the application that the 'Cancel' button has 
been pressed. This causes the application to call fsel_input then continue 
working leaving the Freedom window open!
After selecting a file(s) and exiting Freedom using the 'OK' button 
Freedom sends a VA_START message to the calling application which opens 
the file(s). It's similar to dragging file(s) onto an icon installed on 
the desktop (Gemini/Thing/Ease).
Some example programs which understand the VA_START message are included 
in the example CNF file. There are plenty of programs which don't like 
this arrangement but one glorious exception is the Everest text editor, 
which handles everything VA_START throws at it! A side effect of the 
VA_START trick is that programs listed under the #VASTART section in the 
CNF file can display more than one Freedom file selector!

Function key definitions
------------------------
The function keys can be freely defined using the #FKTKEYS options in 
FREEDOM.CNF. A character string is used to represent each option.
The string is read from left to right and assigned in turn to the function 
keys F1 to F20 (F11 = [Shift]+F1).

Example:
--------
A-JKDEFGIH

Assigns F1 with function A (see list below)
Leaves  F2 unassigned
Assigns F3 with function J
..

All unassigned function keys are still passed to the AV Server where each 
key could peform an action. For example F2 could launch a program.
Using the #NOSENDKEY option in FREEDOM.CNF keypresses are not sent to the 
AV Server, this is particularly useful for applications which cannot 
tolerate this behaviour (for example Gemini 1.A). Here's the possible 
functions:

  A = Drive popup
  B = File popup (filtered with current mask)
  C = Extension popup
  D = Sort popup
  E = User defined path popup
  F = Available extensions popup
  G = Selection mask dialog
  H = Deselection mask dialog
  I = New mask dialog
  J = Find object dialog (bound to selector)
  K = Create new object dialog
  L = Selected files to list in Clipboard
  M = Open file (display or launch)
  O = History popup (filtered with current mask)
  P = Recursive touch selected file/s
  Q = Restore path from the clipboard
  R = Individual file info dialog
  S = File count on current drive
  T = Find object dialog (independent of selector)
  U = file list exported to clipboard using using #NICEFORMAT string
  V = File popup (unfiltered)
  W = History popup (unfiltered)
  - = Unassigned (Available to AV server)

Note! By default Freedom does not distinguish between upper and lower 
case (dependent on the parameter #LOWERCASE) when reading paths and masks. 
FREEDOM.CNF is formatted using upper and lower case to make it easier to 
distinguish between commands, comments, paths and masks.

If you're using a case sensitive file system you can add a preceding '!' 
character before any path or mask to force Freedom to observe case 
sensitivity.

Programmers notes
=================
Please refer to the FDMPROTO.H, SLECTRIC.H and EXAMPLE.C files in the 
SOURCE folder in this distribution which covers programming options in 
more detail...

We'd like to stress we're hoping programmers to develop direct support for 
Freedom from their applications, this is beneficial for your applications 
and every Freedom user. The general guidelines for handling the file 
selector is:

If the FSEL Cookie >= v2.0 then ALWAYS use the fsel_[ex]input call
                      and NOT using BEG/END_MCTRL
If the FSEL Cookie <  v2.0 then ALWAYS use BEG/END_UPDATE which should 
                      ALWAYS be bracketed.

Under development
=================
-Conversion to eCPX to run under Christian Grunenberg's 'Space'
-ST-Guide format hypertext, yeah we know it's late :-(
-A setup program to ease Freedom configuration.
-Signal and AP_TERM evaluation under MultiTOS

Known limitations
=================
-Freedom can't be called from TOS programs. In principle this also 
 applies to programs running in a VT52/TOSWIN window which would need to 
 talk to the AES (using appl_init), so the AES file selector server could 
 exchange data with Freedom.
-Using virtual RAM the program flags 'lalt' and 'malt' must be cleared!
-There are a programs which don't work 100% with Freedom (although these 
 are becoming a rare breed). If you find one please report it to us AND 
 the author of the program so we can solve incompatibilities.
-The Server uses over 130Kb memory. Without abandoning Enhanced GEM and 
 it's wonderful features we can't see any alternative...
-In MagiC single mode the Freedom Server is frozen which means the 
 resident FFSEL.PRG cannot be reached or a second selector cannot be 
 launched in parallel if a path needs to be passed to FFSEL.INF. Until 
 MagiC documentation is available we can't solve this...
-Messages under MiNT from FFSEL.PRG (the resident part) are not evaluated 
 => after closing each selector/alert (KILL/TERM) one of the eight trap 
 handler slots is lost.

Known problems with other software
==================================
-CD-Tools. Old versions which worked fine with Freedom, now fall through 
 the Dxreaddir call!
 Solution: Get the latest version. Freedom is not the only program which 
 uses Dxreaddir so if you experience any problems with MetaDOS drivers 
 don't settle for a version which cannot cope with Dxreaddir!
 
-Zeig's mir. For some reason Freedom and Zeig's mir don't get along.
 It appears to depend on a faulty XACC protocol implementation in either 
 or both our programs but in any event communciation via the XAcc cause 
 both programs to crash under Single TOS... we're working on it.
 
-MultiDialog. Good Idea, terrible implementation. Avoid!
  
-STZip (2.6). No redraws occur if the window lies in the background.

-Some programs don't remember which of their windows can change positions 
 during file selection/alert display. For example Paula, XControl, Maxidat 
 and NotePad spread rectangle lists around the screen and/or ignore any 
 WM_MOVED messages sent.
 Remedy: Don't move the window and inform the author!

-Kandinsky and Triple_D bomb when run with Freedom installed.
 This should be fixed in the next Kandinsky release, until then add these 
 applications by adding the filenames, without extension, under the 
 #EXCLUDE section in FREEDOM.CNF.

-The Let 'em Fly 'Niceline' option used with some programs can result in 
 menu entries being moved (evil!) Neither Freedom (or Let 'em fly) is to 
 blame. Sufferers: Pixart v1.2 and 'Rastaman'.
 Remedy: Turn Nicelines off or use alternative programs...
  
Frequently asked questions
==========================
Q: Why do I get the system selector using CPXs?
A: It's a deliberate safety measure. In theory Freedom could function by 
   delving deeper into the system but it's asking for trouble and a lot of 
   work when only a few useful CPXs call the file selector anyway, maybe 
   later!
   
Q: Why is the system file selector displayed, for no apparent reason, with 
   certain programs?
A: 1) The program makes AES calls before appl_init or doesn't make a 
      appl_init call at all!
      (Refer to 'Known problems with other software' for more details)
   2) Some programs make dirty AES calls (Some calls do not pass the same 
      global field to the AES parameter block that appl_init initialised).
   Often the blame lies with outdated GEM libraries which don't include 
   bindings for some of the 'newer' AES Functions (for example 
   fsel_exinput) and the programmer has to create them manually.
   
   If you're using a different global-field to the library, even out of 
   necessity, then try to get hold of the GEMPARBLK because it's written 
   in Pascal, Basic or similar.
   The GEM libary in Pure Pascal even includes flawed global-fields. Using 
   Pure C it's very simple to use the GEMPARBLK bindings instead of the 
   ones in the library. Under MiNT passing an invalid global field causes 
   the AES itself problems: In this case the MiNT-ID of the application 
   must always be handled first by Appl-ID.

   Why programmers should use always the same GEMPARBLK for AES calls
   ------------------------------------------------------------------
   GEMPARBLK is a structure which can pass parameters to GEM when calling 
   a GEM function. This structure also contains the (famous) global-field, 
   which is initialised by the AES on the first GEM call (appl_init) of an 
   Application.
   The information, that is put into that field by the AES is needed by 
   Freedom to determine which application has made the call. Because the 
   AES itself doesn't need this information (it always knows, which 
   Application is running, because normally the AES is the one switching 
   the tasks!) no one is urged to always use the same GEMPARBLK structure 
   when calling the AES.
   For example because CPXs do not call appl_init (they're not 
   applications), the global-Field of the GEMPARBLK structure they use 
   usually contains only zero values. But if there's no correct 
   global-field, there's also no information which Freedom can access to 
   determine the calling Application, and Freedom has to relinquish 
   contol to the system file selector.

   From MagiC 3 Freedom will be able to access the AES internal 
   information, which should make it possible for Freedom to appear when 
   calling the file selector from CPXs along with some dirty applications.

Q: Freedom displays a modal dialog without apparent reason?!
A: Freedom uses the MCTRL flags and the AES to recognise flying dialogs. 
   Dialogs can't receive redraw messages so Freedom also has to appear as 
   a modal dialog. A few programs didn't call the file selector from 
   flying dials but also set MCTRL (for example Gemini, GemView)
   -> Freedom must accept this and displays itself as a flying dialog.
   You can set these programs free by adding the the name displayed in the 
   Freedom title bar under #IGNOREMCTRL section in FREEDOM.CNF.
   Programs which also call the selector from dials (for example CAT and 
   Maxidat) should NOT be listed!
   The guidelines for programmers are:
   If the FSEL Cookie >= v2.0 then use fsel_[ex]input call, NOT MCTRL.
   If the FSEL Cookie <  v2.0 then always use MCTRL.
   UPDATE should always use MCTRL.

   Guidelines for programmers
   --------------------------
   If the FSEL-Cookie >= 2.00 is installed, the fsel_[ex]input call should 
   NOT be nested with MCTRL, otherwise always! UPDATE should always be 
   set.

Q: If I move Freedom suddenly the windows of the calling application 
   vanish. However on closing Freedom they all reappear, whats going on?
A: This is a problem fundamentally linked to the way Freedom works. 
   Because the calling application simply waits at the file selector it 
   doesn't notice its windows need redrawing.
   In order to avoid screen garbage previous Freedom versions have 
   intercepted any redraw messages and filled the offending window with 
   the Freedom logo. This method met with wide dissapproval and caused 
   various problems. We've had a rethink and come up with a new approach 
   which, although not perfect, circumvents all the earlier problems and 
   is more elegant, more compatible and needs less overhead from 
   Freedom's point of view.
   
   Guidelines for programmers
   --------------------------
   The old process suffered from a further stubbon problem: After 
   intercepting window redraws Freedom has to restore the windows using a 
   WM_MOVED, followed of a WM_REDRAW message but:
   1) A considerable number of applications don't send a message after 
      file selection.
   2) Came sometimes a further, from the AES sent WM_REDRAW between them,
      and so the WM_MOVED arrived not more than first message with the 
      application and so the window is redrawn at the wrong position.
   There's also a problem with XAcc messages which can under certain 
   circumstances get lost when a certain upper limit is passed with all 
   known AES versions. The (mildest) effect is application windows which 
   that were moved during file selection didn't receive any Redraw/Moved 
   messages, although (according to Sysmon) they were sent.
   Under MagiC, with lots of open windows, one possible workaround is to 
   send a SMC_TIDY_UP message instead of loads of redraws...
 
Q: If Kobold or Parafin are called from Freedom, under MagiC their 
   windows are not handled correctly. What's going on?
A: MagiC sends false window top messages! MagiC tries to prevent the top 
   window and menu line belonging to different programs.
   As a consequence (and to the chagrin of many users) closing the last 
   window of an application takes the window stack out of consideration.
   Normally this effect would appear every time Freedom closes its last 
   window (which it naturally does quite often!). Happily a trick has 
   fallen into our laps:
   If MagiC is available, Freedom bottoms the corresponding window before 
   closing it.
   If the last window closed is not the top window MagiC behaves 
   completely 'normally'.
   Hopefully either MagiC will change its behaviour or this loophole 
   remains available! -Although we can't expect all programmers to use the 
   'bottom' trick...

Q: Can Freedom really survive a resolution change?
A: Yes! But as a precaution it's a good idea to close any Freedom 
   selectors/alerts!

Q: Why does MiNT display the System alert and file selector using 
   'Load...'?
A: This alert/file selector is called directly from the AESSYS.
   Freedom should not control this process...

Q: Why does the MagiC 'Start program...' display the system file selector 
   when Selectric works OK?
A: MagiC accesses the file selector differently for this operation and 
   this is not accessible to Freedom therefore the system file selector 
   appears. (You can also run Selectric alongside Freedom by running it 
   before FFSEL in the Auto folder in which case Selectric appears!).
   
Q: If I use Freedom to copy files using Kobold 2 with Gemini <=1.a 
   installed then the Freedom window is updated before instead of after 
   the copy operation.
A: An Error in Gemini (The corresponding message is sent before Gemini 
   receives a reply from Kobold, and in general if something is copied).

Q: Gemini sometimes crashes when I press unassigned keys in Freedom.
A: Freedom passes unassigned keys to the AV Server. Gemini 1.a doesn't 
   tolerate this behaviour and leads to a crash.
   Activate the #NOSENDKEY in FREEDOM.CNF to cure the problem.
   
Q: Freedom locked up/crashed my system...
A: We and our beta testers have thoroughly tested Freedom with all the 
   applications we can get our hands on but there are bound to be problems 
   with a few applications!
   If you do encounter a problem first check the problem occurs on a 
   completely clean system with NO Auto folder or accessories loaded. If 
   the problem persists please report it using one of the contact 
   addresses. Include you machine details along with the program name 
   (send it to us if possible), version with a clear concise description 
   of the problem and we'll do our best to fix it.
   
Q: Do I have to load Freedom as an ACC under Single TOS?
A: Yes. Freedom is designed to run as a parallel application under a 
   multitasking OS and under Single TOS the only way to do this is as a 
   desktop accessory.

Q: Why are the two calls (#VASTART, #NOALERTS) included in the Freedom 
   configuration file?
A: These are needed when running Freedom as an application to overcome 
   some fundamental limitations in this mode of operation. They will not 
   be needed in the forthcoming Freedom eCPX.
    
Q: Why are the three images (FREDOMxx.IMG) so nice?
A: Because Chrisker designed them.

Q: Why are the Freedom function icons so nice?
A: Because Kolja designed them!

Legal stuff
===========
No part of this publication or other Freedom documentation may be 
reproduced, transmitted, transcribed, stored in a retrieval system, or 
translated into another language or computer language, in any form or by 
any means, electronic, mechanical, magnetic, optical, chemical, manual or 
otherwise without prior written consent of the authors.

Warranty and liability
----------------------
Whilst we will make our best endeavours to resolve any problems you may 
experience using Freedom the liability of the authors and their agents 
for any loss, or consequential loss, you may suffer due to the use of 
Freedom is strictly limited to refunding your shareware fee.

All trademarks used are recognised and acknowledged.

About this documentation
------------------------
-Original German manual
 (c) 1995 by Christian Krger and Kolja Koischwitz
-English translation and adaptation
 Joe Connor

Registration:
=============
Option 1
--------
UK users can register locally via Joe Connor's Supported Shareware scheme. 
Refer to the file SUPPORT.TXT included with this archive. Alternatively 
you may register directly:

Option 2
--------
Send DM 30 and self addressed envelope and international reply coupon to:

  Kolja Koischwitz
  Sandhauser Strae 21
  13505 Berlin

Option 3
--------
Transfer DM 30 to the following bank account:

  PGiroamt Berlin
  Kolja Koischwitz
  BLZ (Sort Code): 10010010
  Konto-Nr (Account No): 705 92-100

Be sure to clearly state the transfer is to register Freedom along with 
with your contact details!! Please also send an Email/letter to confirm 
your transfer.

To generate your key we need the following details:

Name:                 ....................................
Street:               ....................................
Town/County/Postcode: ....................................

We'll rush you a key together with the latest registered version which you 
can only unpack using your personal key!
                                   
Email contacts
--------------
Authors:
Kolja:     joust@cs.tu-berlin.de
Chrisker:  chrisker@cs.tu-berlin.de

Agents:
Criss:     Christian_Grunenberg@lb.maus.de
Joe:       jconnor@cix.compulink.co.uk

That's it! Kolja and Chrisker
