                             Let 'em Fly!
                             ------------

                     (Flying Dials and more ...)

                             Version 1.17
                            Dezember  1991

                      (c) 1991 by Oliver Scheel
                        Freaky Deaky Software

                           (it's Freeware)


                              Einleitung
                              ==========

Tjaaa,  eigentlich  wollte ich nur mal sehen wie schnell das  VDI  des 
Atari ST sein kann, doch daraus ist dann wohl etwas mehr geworden ...

Jeder  drfte inzwischen fliegende Dialogboxen kennen.  Sie sind  z.B. 
in `Gemini' (dem Shareware Alternativ-Desktop) oder in `Rufus'  (einem 
Terminalprogramm)  eingebaut.  Zudem sind diese Dialogboxen auch  ber 
die  Tastatur  bedienbar  und hufig bleibt  einem  so  der  fliegende 
Wechsel zwischen Tastatur und Maus erspart.  Leider sind diese Dialog-
boxen  nur  innerhalb  dieser Programme aktiv  und  sobald  man  diese 
verlassen hat,  steht man wieder ohne da.  Und hier setzt Let 'em Fly! 
an,  und  viele  `normale'  Dialogboxen sind  jetzt  auch  mit  diesen 
Features ausgestattet.

Features
--------

 - Fliegende Dialoge:
     Viele  Dialoge werden flugfhig gemacht.  Hiermit kann  man  Ver-
     decktes  sichtbar  machen.  Auch  die  Alert-Boxen  knnen  jetzt 
     fliegen.
     Durch  ein  ausgeklgeltes  Verfahren sind die  Boxen  auch  ohne 
     Blitter  beim  Verschieben ertrglich schnell und  optisch  opti-
     miert.  Zudem  luft die ganze Geschichte  speicherplatzoptimiert 
     ab,  d.h.  auch  wenn  wenig Speicher vorhanden ist,  ist  es  in 
     einigen Fllen noch mglich die Boxen zu verschieben.
     Weiterhin  merkt  sich  Let 'em  Fly!  innerhalb  des  jeweiligen 
     Progamms  die Position der Dialogboxen,  d.h.  da nach dem  Ver-
     schieben  einer  Box  diese  dann beim  erneuten  Aufruf  an  der 
     letzten Position wieder dargestellt wird.
     Auch  virtuelle Screens a la `BigScreen 2.0' werden  untersttzt, 
     d.h.  die  Dialogboxen  werden in dem zur  Zeit  sichtbaren  Aus-
     schnitt zentriert.

 - Tastaturbedienbarkeit von Dialogen:
     Ebenso  viele Dialoge kann man jetzt ber die Tastatur  bedienen. 
     Bei  ganz bestimmten Mustern werden auch die Sondertasten  [HELP] 
     und [UNDO] belegt.

 - Zustzliche Editierfunktionen:
     Sind  in  einem Dialog editierbare  Eingabefelder  vorhanden,  so 
     werden zustzliche Editierfunktionen  bereitgestellt.  U.a.  wird 
     auch  das  GEM-Clipboard  untersttzt,  sowie  eine  History  der 
     letzten  20  Eingaben gefhrt.  Einige  Editierfunktionen  knnen 
     auch  in  Programmen Wirkung zeigen welche  eigene  Routinen  zur 
     Dialogverarbeitung benutzen.

 - neue Alert-Boxen mit neuen Icons:
     Die Optik der Alert-Boxen wurde berarbeitet.  Sie sind jetzt nur 
     noch  so gro wie sie wirklich sein mssen.  Weiterhin  kann  man 
     neue Icons nachladen.

 - Grow-/Shrinkboxen abschaltbar:
     Es lassen sich auch die Grow- und Shrinkboxen abschalten,  um  so 
     einen  Geschwindigkeitsgewinn beim Zeichnen von Dialogboxen  u.a. 
     Dingen zu erzielen.

 - Kein Flugschein erforderlich!
     Ja,  Sie  haben richtig gelesen.  Fr Let 'em Fly!  brauchen  Sie 
     keinen Flugschein.  Grundkenntnisse in der Bedienung des  Steuer-
     aggregats sollten aber trotzdem vorhanden sein.

Das  Programm  luft auf allen ST/TT Rechnern  in  allen  Auflsungen. 
Falls es trotzdem Probleme gibt, bitte ich um Kontaktierung.

Das  Programm  ist Freeware,  d.h.  es darf frei kopiert  und  benutzt 
werden.  Davon ausgeschlossen ist die gewerbliche Nutzung.  Diese  ist 
nur mit schriftlicher(!) Genehmigung meinerseits mglich, eingeschlos-
sen  davon sind PD-Versande!  Die Rechte bleiben in allen  Fllen  bei 
mir. Zuwiderhandlungen werde ich strafrechtlich verfolgen.

Zu Let 'em Fly! gehren folgende Dateien:

     - LETEMFLY.PRG           Das eigentliche Programm
     - LET_CONF.PRG/ACC       Das Konfigurationsprogramm
     - LET_CONF.CPX           Das Ganze als CPX-Modul

     - GEM1ICON.RSC           Die  originalen  Atari  Icons  fr   die 
                              Alert-Boxen
     - GEM2ICON.RSC           Die Icons aus GEM/2 fr die Alert-Boxen

     - LETEMFLY.TXT           Diese Anleitung
     - CHANGES.TXT            Die   nderungen   zwischen   den   ver-
                              schiedenen Versionen
     - READ_ME                Eine kurze Info

Let 'em Fly!  darf  nur  komplett  mit  diesen  Dateien  weitergegeben 
werden.

Ich  erhebe  mit dieser Anleitung keinen Anspruch  darauf,  da  jeder 
alles versteht,  was zur normalen Benutzung auch nicht notwendig  ist. 
Das ist in diesem Fall prinzipbedingt,  da das Programm in die  Tiefen 
des Betriebssystem eintaucht und um alles zu verstehen,  mu man  auch 
dieses  ensprechend  genau kennen.

WICHTIG:   Weiterhin  ist  noch  eine  Zusatzdokumentation  fr   Pro-
grammierer und Fortgeschrittene erhltlich. Diese ist jetzt nicht mehr 
Teil  des  Let 'em Fly!  `Grundpaketes'.  Sie sollte entweder  in  den 
etablierten  Mailboxen  zu finden sein,  kann jedoch auch  ber  einen 
adressierten und frankierten Rckumschlag bei mir bezogen werden.

Jetzt aber erstmal das ...

Ich  bernehme  keine Haftung oder Verantworung fr direkte  oder  in-
direkte  Schden jedweder Art,  seien  sie  finanzieller,  materieller 
oder  sonstiger Art,  die aus dem Gebrauch,  Nichtgebrauch  oder  Mi-
brauch von Let 'em Fly! entstehen.
Fast  alle Soft- und Hardwarebezeichnungen,  die in  dieser  Anleitung 
erwhnt werden,  sind eingetragene Warenzeichen und sollten als solche 
betrachtet werden.


                             Installation
                             ============

Das eigentliche Programm LETEMFLY.PRG lt sich sowohl vom Desktop aus 
starten als auch aus dem AUTO-Ordner heraus.  Im zweiten Fall mu  man 
das Programm in den AUTO-Ordner des Boot-Laufwerks kopieren.  Nach dem 
nchsten Reset ist es dann automatisch installiert.
Daneben gibt es auch noch ein Konfigurationsprogramm LET_CONF.PRG/ACC. 
Mit  diesem Programm ist es mglich Let 'em Fly!  an die  persnlichen 
Bedrfnisse  anzupassen.  Es kann entweder vom Desktop  aus  gestartet 
werden oder als Accessory installiert werden.  Im zweiten Fall mu die 
Endung  auf  'ACC' lauten und das Programm  im  Wurzelverzeichnis  des 
Boot-Laufwerks  stehen.   Nach  einem  Reset  ist  es  dann  ber  die 
Accessory-Leiste  aus jedem (echten) GEM-Programm heraus  ansprechbar. 
Da  die  neue  Version  dieses  Konfigurationsprogramm  etwas   lnger 
geworden ist und nicht jeder 2 oder 4 MByte Speicher besitzt, empfehle 
ich  `The Chameleon' von Karsten Isakovic.  Mit diesem Programm  kann 
man Accessories nachladen und auch wieder entfernen.
Das Konfigurationsprogramm gibt's auch als CPX fr das neue  Kontroll-
feld  von  Atari.  Es  heit LET_CONF.CPX und  mu  im  entsprechendem 
Verzeichnis liegen.


                              Bedienung
                              =========

Grundstzliches
---------------
Nicht alle Dialogboxen werden von Let 'em Fly!  untersttzt, da einige 
Leute eigene Routinen zur Dialogverarbeitung programmiert haben.  Hier 
kann  Let 'em Fly!  garnicht  oder nur teilweise  seine  Features  zur 
Verfgung stellen.  Fr alle Programmierer,  die Let 'em Fly!  optimal 
ausnutzen  wollen,   gibt  es  (wie  oben  schon  erwhnt)  eine   Zu-
satzdokumentation.
Auch die Dialoge im Desktop werden nicht untersttzt,  da hier das TOS 
seine Routinen direkt anspringt.
Falls irgendetwas nicht funktionieren sollte,  dann bitte ich erst die 
Einstellungen mit dem Konfigurationsprogramm (s.u.) zu prfen!

So, nun geht's aber los ...

Let 'em Fly!
------------
In  einer  Dialogbox  gibt es in erster  Linie  anwhlbare  und  nicht 
anwhlbare  Objekte.  Falls man jetzt ein nicht anwhlbares Objekt  in 
einem  Dialog  mit  der linken Maustaste anklickt  und  die  Maustaste 
festhlt,   so  sollte  sich  der  Mauszeiger  in  eine  Flache   Hand 
verwandeln. Nun kann man die Dialogbox auf dem Bildschirm verschieben. 
Je nachdem wie Let 'em Fly!  konfiguriert wurde (s.u.),  lt sich die 
Box  als Ganzes in Echtzeit verschieben oder nur als  Rahmen,  so  wie 
auch die normalen Fenster verschoben werden.  Falls man beim Anklicken 
der  Box zustzlich die rechte Maustaste (oder eine der  Shift-Tasten) 
gedrckt  hlt,  so  verschwindet die Box und  ein  Geisterrahmen  er-
scheint.  Somit ist es jetzt mglich `durch' die Box zu schauen, falls 
diese  etwas  verdeckt.  Der Geisterrahmen lt  sich  natrlich  auch 
verschieben.  Beim Loslassen der Maustaste(n) erscheint die Box wieder 
auf  dem Bildschirm.  Die Funktion der rechten Maustaste kann man  mit 
Hilfe des Konfigurationsprogramms auch umkehren.
Bemerkung:  es  kann  sein,  da andere  Programme,  die  Let 'em Fly! 
explizit  untersttzen auch nur ber ein spezielles  Objekt  `fliegen' 
knnen (der File-Selector `Selectric' untersttzt  z.B.  Let 'em Fly! 
und  man  kann dort die Box ber das Eselsohr in  der  oberen  rechten 
Ecke  verschieben).  Hier  sollte aber die  Anleitung  des  jeweiligen 
Programms weiterhelfen.
Falls  die  Box sich zwar noch normal  verschieben  lt,  nicht  aber 
durchsichtig gemacht werden kann,  dann steht nicht genug Speicher zur 
Verfgung  um die komplette Box zu sichern.  Der erste  Modus  zerlegt 
bei  nicht ausreichendem Speicher die Flugbahn in  entsprechend  viele 
Einzelschritte  und  fhrt diese dann aus,  daher hat  man  hier  mehr 
Chancen.
Klickt  man  auerhalb des Dialogs,  so machte  es  normalerweise  nur 
`Pling',  nun kommt zustzlich der Dialog zur Mausposition `geflogen'. 
Diese  Funktion  ist  besonders bei  Grobildschirmen  sehr  ntzlich. 
Zudem  bewirkt ein Doppelklick auf das Flugobjekt ein  Zentrieren  des 
Dialogs.
Weiterhin merkt sich Let 'em Fly!  die letzte Position der Dialogboxen 
innerhalb eines Programms,  d.h. verschiebt man die Dialoge, so werden 
sie  bei  einem erneuten Aufruf an der letzten  Position  wieder  dar-
gestellt.  Durch Drcken von [ALT]+[CTRL] beim Aufruf(!) des  Dialoges 
wird die Box wieder richtig zentriert.  Diese Funktion zeigt auch  bei 
fremden Flugroutinen Wirkung.
Bei  installierten virtuellen Screens a la `BigScreen 2.0' knnen  die 
Dialoge  im  zur Zeit sichbaren  Ausschnitt  zentriert  werden.  Somit 
erspart man sich so manche Suche nach dem Dialog.  Alert-Boxen  werden 
unabhngig  von der Einstellung im Konfigurationsmen immer im  sicht-
baren Ausschnitt zentriert.  Alert-Boxen sind ja dazu da dem  Anwender 
eine  wichtige  Information  zu geben und nicht,  um  sie  erst  lange 
suchen zu mssen.

Zusammenfassung:

   - Nicht  alle  Boxen knnen fliegen!  Es mu a)  gengend  Speicher 
     vorhanden  sein und b) die  entsprechende  Betriebssystemfunktion 
     vom Programm aufgerufen werden.
   - Manchmal  ist es zwar mglich die Box zu  verschieben,  aber  sie 
     lt  sich nicht mehr durchsichtig machen.  In diesem Fall  steht 
     nicht   mehr  gengend  Speicherplatz  fr  die   Bufferung   der 
     kompletten Box zur Verfgung.
   - Weiterhin  knnen  Programme,  welche  nicht  darauf  vorbereitet 
     sind,  da  ihre Boxen fliegen knnten,  ein  etwas  eigenartiges 
     Verhalten   zeigen.    Es   wirkt   sich   aber   nur   auf   die 
     Bildschirmdarstellung  aus  und  irretiert  eher.   Daten   gehen 
     hierbei  normalerweise  nicht verloren.  Eine Garantie  kann  ich 
     dafr jedoch nicht geben.


Key Dials
---------
Viele  Dialoge lassen sich ab sofort auch ber die Tastatur  bedienen. 
Das  sieht  man daran,  da in/neben den Buttons unter  dem  Text  ein 
Buchstabe bzw. eine Zahl unterstrichen ist (in der Farbauflsung steht 
auch  noch  eine andere Darstellungsart  zur  Verfgung).  Drckt  man 
diesen Buchstaben bzw.  diese Zahl in Verbindung mit der  [ALT]-Taste, 
so wird das entsprechende Objekt angewhlt.  Das entspricht dann einem 
einfachen  Mausklick auf das Objekt.  Weiterhin bewirkt ein  Mausklick 
auf  ein  unterstrichenes Objekt neben dem eigentlichen  Button  eben-
falls einen Klick auf das entsprechende Objekt.
Ist  kein  editierbares  Feld im Dialog vorhanden,  so  kann  man  die 
Shortcuts auch ohne [ALT]-Taste erreichen (z.B. in den Alert-Boxen).

Zudem  werden  je nach Mglichkeit auch die Tasten [UNDO]  und  [HELP] 
belegt:

[HELP] sucht nach den Zeichenfolgen     'help',
                                        'hilfe'

[UNDO] sucht nach den Zeichenfolgen     'abbruch',
                                        'abbrechen',
                                        'verlassen',
                                        'nein',
                                        'quit',
                                        'cancel',
                                        'abort',
                                        'no',
                                        'exit'

Gro-  und  Kleinschreibung wird nicht  bercksichtigt.  Beim  Drcken 
einer dieser Tasten wird dann das jeweilige Objekt angewhlt.
Insgesamt  werden 38 Tasten (A-Z,  0-9,  HELP,  UNDO)  verwaltet.  Das 
Default-Objekt  (wird beim Drcken von RETURN angewhlt und  ist  dick 
umrandet),  sowie  das  UNDO-Objekt ist zudem (fast)  immer  ber  den 
ersten  Buchstaben im jeweiligen Text zu  erreichen.  D.h.  'Ok'  ber 
ALT+'O', 'Abbruch' ber ALT+'A' u.s.w..

ber  [ALT]+[Tab] und [SHIFT]+[ALT]+[Tab] kann man den  Default-Button 
`verschieben',  d.h.  man kann in vielen Fllen mit dieser Mglichkeit 
und der RETURN-Taste den Dialog bearbeiten.

ber  [SHIFT]+[HELP] wird innerhalb eines Dialogs eine Copyright  Info 
angezeigt. Bei Alert/Error-Boxen ist diese Funktion ausgeschaltet.


Extended Editor
---------------
Sind in einer Dialogbox editierbare Eingabefelder vorhanden, so werden 
von  Let 'em Fly!  auch  zustzliche Editierfunktionen  zur  Verfgung 
gestellt.

Neben den schon im Betriebssystem fest eingebauten ...

[Cursor Up]         Ein Eingabefeld zurck.
[Cursor Down]       Ein Eingabefeld vor.
[Cursor Left]       Ein Zeichen nach links.
[Cursor Right]      Ein Zeichen nach rechts.
[TAB]               Ein Eingabefeld vor.
[RETURN]            Beendet den Dialog.

... gibt es jetzt noch viel mehr ...

[RETURN]            Falls kein Default-Objekt vorhanden ist,  wird zum 
                    nchsten Eingabefeld gesprungen.
[SHIFT]+[RETURN]    springt  zum nchsten Eingabefeld (auch  wenn  ein 
                    Default-Objekt vorhanden ist).
[SHIFT]+[TAB]       Ein Eingabefeld zurck.
[SHIFT]+[Csr Left]  springt an den Anfang des Eingabefeldes.
[SHIFT]+[Csr Right] springt an das Ende des Eingabefeldes.
[CTRL]+[Csr Left]   springt wortweise nach links.
[CTRL]+[Csr Right]  springt wortweise nach rechts.
[Home]              springt zum ersten Eingabefeld im Formular.
[SHIFT]+[Home]      springt zum letzten Eingabefeld im Formular.
[CTRL]+[Delete]     lscht alle Zeichen rechts vom Cursor.

Zudem  besitzen  die Tasten [Cursor Up] und [Cursor  Down]  sogenannte 
`Turn-Around'  Funktionen,  d.h.  ist  man im ersten  Eingabefeld  und 
drckt  [Cursor  Up],  so  gelangt man  ins  letzte  Eingabefeld.  Fr 
[Cursor Down] gilt das Umgekehrte.
Weiterhin  wird  auch die direkte  Cursor-Positionierung  innerhalb(!) 
des Edit-Feldes durch die Maus untersttzt.  Das Betriebssystem  setzt 
normalerweise  den Cursor beim Anwhlen eines Eingabefeldes  immer  an 
das Ende.  Ist eine direkte Positionierung mglich, so verwandelt sich 
der Mauscursor ber dem editierbaren Feld in einen Textcursor.

Alle erlaubten Zeichen fr Dateinamen und Pfade
-----------------------------------------------
... kann  man jetzt in die dafr vorgesehenen Eingabefelder  eingeben. 
Das  TOS  verhlt sich da SEHR merkwrdig,  zum einen  lt  es  viele 
legale Zeichen berhaupt nicht zu (z.B.  `',  `-'),  auf der  anderen 
Seite  kann  man  dann aber die  `belsten'  Zeichen  (`',  `'  ...) 
eingeben (Bacardi Feeling ...).

Spezielle Zeichen:
------------------
In  manchen  Fllen mu man Zeichen eingeben,  die ber  die  Tastatur 
nicht   so   einfach   (wenn   berhaupt)   erreichbar    sind.    Mit 
[SHIFT]+[Insert] kann man eine kleine Box auf den Bildschirm  zaubern, 
aus  der man das Zeichen mit der Maus anwhlen  kann.  Diese  Funktion 
kann nur aufgerufen werden,  wenn in das editierbare Feld alle Zeichen 
eingegeben werden drfen.

GEM-Klemmbrett:
---------------
Innerhalb  der  editierbaren  Felder wird  auch  das  Clipboard  (GEM-
Klemmbrett)  untersttzt,  d.h.  man kann z.B.  in anderen  Programmen 
Text  ausschneiden und dann spter im Dialog einfgen.  Um  das  Clip-
board  benutzen  zu knnen,  mu dieses vorher auch  definiert  worden 
sein,  d.h.  das Betriebssystem mu wissen wo die Daten  abgespeichert 
werden sollen.  Hierzu mu die Environment-Variable `SCRAPDIR' gesetzt 
worden sein.  Benutzt man `Gemini', so geschieht das mehr oder weniger 
automatisch.  Andernfalls  kann  man diese  Variable  durch  spezielle 
Programme  (z.B.  `JCNBOOT' von Jens C.Neffe) setzen lassen.  Die  zu-
stzliche Zeile sieht dann folgendermaen aus:

SCRAPDIR=Pfad

Beispiel:

SCRAPDIR=C:\CLIPBRD

Folgende Clipboard-Funktionen werden untersttzt:

[CTRL]-[X]     Schneidet  die komplette Zeile aus und speichert  diese 
               auf dem Klemmbrett.
[CTRL]-[C]     Kopiert die komplette Zeile ins  Klemmbrett,  d.h.  die 
               Zeile wird im Dialog nicht gelscht.
[CTRL]-[V]     Fgt  den Inhalt in die aktuelle Zeile  ein.  Der  alte 
               Inhalt wird dabei gelscht.  Will man das unterdrcken, 
               so  kann  man  zustlich  die  [SHIFT]-Taste   gedrckt 
               halten.

Wird bei den ersten beiden Funktionen zustzlich [SHIFT] gedrckt,  so 
wird  der Inhalt des Klemmbretts nicht gelscht und der  entsprechende 
Text  wird angehngt.  Dabei wird vorher ein  Zeilenvorschub  erzeugt, 
d.h.  die  einzelnen  Textausschnitte sind dann durch  einen  Vorschub 
voneinander getrennt.

History-Funktion:
-----------------
Oft  mu man Dinge eingeben,  die man vorher schon  einmal  eingegeben 
hat  (z.B.  Shell-Funktion),  und um einmal mehr  Fingerarbeit  einzu-
sparen  kann  man die letzten 20  Eingaben  wieder  herzaubern.  Diese 
Funktion  ist auch als `History' bekannt.  Jeder History-Eintrag  kann 
bis zu 40 Zeichen speichern,  doppelte Eintrge in der History  werden 
unterdrckt (fr unsere Gemini-Freaks: `nohistdouble = TRUE').

[CTRL][Csr Up/Down]      geht die History durch.
[SHIFT][Csr Up/Down]     Die  in der aktuellen  Eingabezeile  stehende 
                         Zeichenkette  wird als Suchmuster  verwendet, 
                         d.h.   es   werden  hier  nur  die   Eingaben 
                         angezeigt   die   mit   dieser   Zeichenkette 
                         beginnen.

Die Leute,  die noch nicht mit einer History gearbeitet haben, sollten 
etwas  damit  experimentieren.  Weiterhin verhlt  sich  die  History, 
weitestgehend wie die in der Commandline-Shell `Mupfel'.

Viele   der  zustzlichen  Editierfunktionen  (auer  die   Mausunter-
sttzung)  sind  auch in Dialogen mit  fremden  Routinen  ansprechbar. 
Hier heit es dann:  Ausprobieren!  Die MagicDials von Peter Hellinger 
werden brigens optimal von Let 'em Fly!  untersttzt.  Leider ist das 
ab der Version 3.0 (MagicTools) auch nicht mehr der Fall.


Die neuen Alert-Boxen
---------------------
Die ursprnglichen Alert-Boxen des Atari ST wurden berarbeitet, damit 
sie u.a. auch in den Genu von Let 'em Fly! kommen. Die drei Knpfe in 
der Alert-Box lassen sich neben dem oben beschriebenen Verfahren  auch 
noch  ber F1-F3 anwhlen,  um so unntige Affengriffe  zu  vermeiden. 
Ebenso braucht man fr die Tastenkrzel keine [ALT]-Taste zu  drcken. 
Weiterhin  sind diese Boxen nur noch so gro,  wie sie  wirklich  sein 
mssen damit der Text hineinpat  und es lassen sich zudem neue  Icons 
beim  Programmstart  nachladen.   Die  entsprechende  Datei  mu  dann 
LET_ICON.RSC  heien  und sich im selben Verzeichnis  wie  das  Haupt-
programm  befinden.  Der  Aufbau der Datei ist im  Programmer's  Guide 
beschrieben.
Die  GEM/1 und GEM/2 Icons liegen Let 'em Fly!  bei (s.o.) und  mssen 
nur ins entsprechende Verzeichnis kopiert und umbenannt werden.


                      Das Konfigurationsprogramm
                      ==========================

Nach  dem  Start des Programms (LET_CONF.PRG/ACC/CPX) gelangt  man  in 
ein Men ...

In  der  obersten Zeile steht die Version  von  Let 'em Fly!  die  der 
Benutzer zur Zeit installiert hat.  Es wird auch zwischen `normal' und 
`light' unterschieden. In der zweiten Zeile steht mein Name (Uii!).
In  der  Mitte  ist ein rechteckiger Kasten zu  finden,  wo  sich  die 
Schalter  zum Konfigurieren befinden.  Da es inzwischen so  viele  ge-
worden  sind und eigentlich alle auch ihre Daseinsberechtigung  haben, 
kann   man   mit  dem  Slider  auf  der  rechten  Seite   die   Punkte 
`durchfahren'.  Wie der erfahrene Let 'em Fly! User schon erkannt hat, 
hat  sich  das Programm seit Version 1.12  etwas  verndert.  Auf  den 
ersten  Blick sieht es vielleicht etwas  unbersichtlich  aus,  jedoch 
wurden die Schalter nach einem neuen Kriterium sortiert.  Nun sind die 
wichtigen  Schalter  auf  der ersten und zweiten Seite  und  der  Rest 
liegt dahinter. Damit sollte man schneller zum Ziel kommen.
Benutzt man das PRG/ACC,  so kann man diese Box auch ber die Tastatur 
bedienen. Mit [CsrUp] und [CsrDown] kann man auch den Slider bedienen. 
Drckt  man zustzlich [SHIFT],  so wird  nicht  zeilenweise,  sondern 
seitenweise  geblttert.  Beim CPX-Modul ist das aus  programmiertech-
nischen Grnden leider nicht mglich.

Am unteren Rand befinden sich vier Buttons:

- Info    Zeigt eine kleine Informationsseite an.

- Save    Sichert  die  Einstellungen permanent im  eigentlichen  Pro-
          gramm.  Es  erscheint  darauf hin eine  Auswahlbox,  wo  das 
          Programm  (LETEMFLY.PRG oder LET_LGHT.PRG) angewhlt  werden 
          kann.

- Cancel  Alle  Einstellungen werden rckgngig gemacht und  das  Kon-
          figurationsprogramm wird verlassen.

- OK      Die  Einstellungen  werden bernommen,  jedoch  nicht  abge-
          speichert,  d.h.  beim  nchsten Neustart des Rechners  sind 
          diese  futsch.  Die  gleiche  Wirkung hat  der  Closer  oben 
          links.

Nun  aber zu den Schaltern bzw.  Reglern.  Die Schalter  stellen  sog. 
Pop-Up Mens dar,  d.h. ein Klick auf den Schalter zaubert eine kleine 
Auswahlbox  hervor.  Klickt  man auf den  erklrenden  Text,  so  wird 
zwischen den beiden Mglichkeiten hin- und hergeschaltet.

- Let 'em Fly!      ber diesen Schalter lt sich  Let' em Fly!  ein- 
                    bzw.   (komplett)  ausschalten.   Die   restlichen 
                    Einstellungen sind damit ohne Wirkung.

- Alert-Boxes       Hier lassen sich die neuen Alert- und  Error-Boxen 
                    ein-/ausschalten.

- Key Dials         Aktiviert/Deaktiviert  die   Tastaturbedienbarkeit 
                    der Dialogboxen.

- Extended Editor   Dieser Schalter ist fr die zustzlichen  Editier-
                    funktionen da.

- Flying Dials      Mit diesem Schalter werden die Flugroutinen  akti-
                    viert. Die Dialoge knnen jetzt fliegen (Uii!).

- Fly Type          Hier wird bestimmt, wie die Boxen fliegen:
                    Solid:    in Echtzeit, d.h. sie folgen der Mausbe-
                              wegung.  Ohne  Blitter  und  ohne  Bild-
                              schirmbeschleuniger  ist  diese  Version 
                              etwas trge.
                    Hollow:   Hier  wird  mit einem  einfachen  Rahmen 
                              gearbeitet.

- Ghost Flights     Will  man die Funktion der rechten  Maustaste  fr 
                    den Flugmodus umkehren (invert),  so kann das  mit 
                    diesem Schalter geschehen.

- Jumpin' Dials     Wer nicht mchte, da die Dialoge zur Mausposition 
                    geflogen  kommen,  wenn man auerhalb des  Dialogs 
                    klickt,   kann  hier  diese  Funktion  abschalten. 
                    (Natrlich  kann  man  die  Funktion  auch  wieder 
                    einschalten)

- Save Position     Mit diesem Schalter kann man einstellen,  ob  sich 
                    Let 'em Fly!   die  Position  der  Dialoge  merken 
                    soll.

- Send Redraw       Bei  manchen Programmen gibt es Probleme nach  dem 
                    lschen der Dialogbox,  d.h.  der Hintergrund wird 
                    nicht wieder richtig hergestellt (z.B.  TC-Filese-
                    lector,   Adimens).   Ist  diese  Funktion  einge-
                    schaltet,  so  wird dem gerade laufenden  Programm 
                    gesagt,  da  nach  dem Lschen der Box  der  ent-
                    sprechende Bildschirmausschnitt neugezeichnet wer-
                    den soll.

- VSCR Support      Dieses  megagigantische Krzel VSCR  heit  nichts 
                    anderes,  als  Virtual SCReen (der Ausschnitt  des 
                    Bildschirms  ist ungleich dem Gesamtma des  Bild-
                    schirms,  auch  mit  der  Fenstertechnik  zu  ver-
                    gleichen)   und  kennzeichnet  ein  Verfahren   um 
                    anderen  Programmen mitteilen zu  knnen,  welcher 
                    Bildschirmausschnitt  denn  nun  gerade   sichtbar 
                    ist.  Ist  dieser  Punkt  eingeschaltet,  so  wird 
                    dieses  Verfahren untersttzt.  Einen  nicht  vor-
                    handenen  VSCR erkennt  Let 'em Fly!  automatisch. 
                    Vertreter dieser Gattung ist z.B.  `BigScreen 2.0' 
                    von Julian Reschke.
                    Was macht nun Let 'em Fly!  in diesem  Fall?  Nun, 
                    die  Dialogboxen werden immer im  sichtbaren  Aus-
                    schnitt zentriert.  Die Alert-Boxen jedoch  werden 
                    immer,  unabhngig von diesem Schalter,  im sicht-
                    baren Bereich zentriert.

- Form Grow/Shrink  Schaltet  die Grow-/Shrinkboxen beim Zeichnen  von 
                    Dialogboxen  ein bzw.  aus.  Somit wird der  Bild-
                    schirmaufbau erheblich beschleunigt,  jedoch  geht 
                    das  'Intuitiv-sensitive' verloren.  Das  KAOS-TOS 
                    wirbt brigens mit diesem Feature.

- Graf Grow/Shrink  Schaltet  auch  die restlichen Grow-  und  Shrink-
                    boxen aus,  z.B.  wenn ein Programm von Gemini aus 
                    gestartet wird.

- Fly Delay         Damit man in die Buttons `reinfahren'  kann,  ohne 
                    da der Dialog vorher anfngt zu fliegen, kann man 
                    hier  eine  Verzgerung einstellen  (0  steht  fr 
                    keine  Verzgerung).  Die persnliche  `Note'  er-
                    reicht man durch Probieren.

- Shortcut Disp.    Mit  diesem Schalter kann man  bestimmen,  ob  die 
                    Shortcuts  durch  Striche oder  durch  farbig  ge-
                    druckte   Buchstaben  kenntlich   gemacht   werden 
                    sollen.  Natrlich  ist  das  nur  fr  die  Farb-
                    auflsungen interessant,  im monochromen Modus hat 
                    dieser  Schalter keine Wirkung.  Hier  wird  immer 
                    der Strich unter den Buchstaben benutzt.

- Shortcut Col.     ber  diesen Schieberegler kann  den  Tastenkrzel 
                    eine  Farbe zugewiesen werden,  z.B.  ist  in  der 
                    mittleren Auflsung rot besser auszumachen.  Steht 
                    der Regler auf ganz links,  so werden zwar  Tasten 
                    vergeben, jedoch wird kein Strich gemalt.

- Alert-Icon        Hier kann den Icons in den Alert-Boxen eine  Farbe 
                    zugewiesen werden.

- Alert-Border      Um das Individuelle noch weiter zu steigern,  kann 
                    hier  die  Rahmendicke (normal ist 1)  der  Alert-
                    Boxen eingestellt werden.


...  Hier stand mal etwas zur light-Version von Let 'em Fly!. Zur Zeit 
gibt  es aber keine light-Version,  und deshalb steht hier  auch  nix. 
Bei  der light-Version handelte es sich brigens um  eine  abgespeckte 
Version.


              (bekannte) Probleme mit anderen Programmen
              ==========================================

   - Der  Universal  Item  Selector (UIS III)  mu  nach  Let 'em Fly! 
     gestartet werden, da er sonst wieder ausgeklinkt wird. Das drfte 
     fr alle Programme gelten, die kein XBRA benutzen.
   - Der Little Green Selector funktioniert mit Let 'em Fly!  nicht so 
     richtig,  sowohl  mit  dem  Fliegen als auch  mit  den  Tastatur-
     Shortcuts  gibt es Probleme.  Diese Probleme sind aber im LGS  zu 
     suchen!  Der LGS hngt z.B. im ikbdsys drin, blo wofr (SINN!?). 
     Dort  bringt  er anscheinend die  Tastencodes  vollkommen  durch-
     einander,  so  da  nur  der LGS damit etwas  anfangen  kann  (na 
     schn).  Warum benutzt der LGS nur im GEMDOS-Trap XBRA und  sonst 
     nirgendswo?  Ich wei ja nicht was der freundliche  Atari-Hndler 
     empfehlt, ich empfehle Selectric als File-Selector.
   - Da  die  MagicDials von Peter Hellinger  die  benutzerdefinierten 
     Objekte  und Buttons nicht `konventionell' behandeln,  wird  beim 
     Anwenden  der  Tastenkombination [ALT]+[Tab] (und  auch  bei  der 
     Umkehrung  mit [SHIFT]) der Button nicht korrekt  gezeichnet.  Zu 
     Abstrzen kann es jedoch nicht fhren.
   - Bei  MiNT-Versionen  kleiner-gleich 0.91 kann  sich  Let 'em Fly! 
     nicht   installieren.   Das  Problem  haben  aber   auch   andere 
     Programme.
   - Wird ein Dialog in NeoDesk mit [RETURN] beendet,  so verschwindet 
     er nicht.
   - Harte Probleme gibt es auch noch mit Diskus 2.x.  Beim Darstellen 
     einiger  Dialogboxen  meint  es  einfach  abstrzen  zu   mssen. 
     Abhilfe: `Flying Dials' ausschalten.


                           Trappelshouting
                           ===============

Let 'em Fly!  klinkt  sich in den TRAP #2 (AES/VDI) und den  TRAP  #13 
(BIOS)  ein und benutzt dazu die XBRA-Kennung `LTMF'.  Zudem wird  ein 
sog.  Cookie-Jar installiert (benutzt auch die Kennung `LTMF'). Dieser 
zeigt auf die folgende Struktur:


typedef struct
{
    unsigned int    version;    /* BSD format       */
    struct
    {
        unsigned light  : 1;    /* light version (read) */
        unsigned        : 1;    /* reserved             */
        unsigned jumpin : 1;    /* jumpin' dials        */
        unsigned flyswi : 1;    /* conf. flymode switch */
        unsigned vscr   : 1;    /* virtual scr. support */
        unsigned center : 1;    /* center mode          */
        unsigned keys   : 1;    /* key handling         */
        unsigned edit   : 1;    /* extended editor      */
        unsigned redraw : 1;    /* send redraw message  */
        unsigned flytyp : 1;    /* solid/hollow fly     */
        unsigned fly    : 1;    /* flying on/off        */
        unsigned alert  : 1;    /* Alerts/Errors on/off */
        unsigned v_mem  : 1;    /* use virtual memory   */
        unsigned f_grow : 1;    /* grow/shrink boxes    */
        unsigned g_grow : 1;
        unsigned bypass : 1;    /* ON/OFF highest prio  */
    } config;
    char    *vpath;             /* path for v-mem   */
    void    cdecl   (*di_fly)(OBJECT *tree);    /* fly routine */
    void    cdecl   (*obj_clsize)(OBJECT *tree, int obj,
                                   int *x, int *y, int *w, int *h);
    int     cdecl   (*do_key)(int key, int kshift); /* User Keys */
    int     cdecl   (*init_keys)(OBJECT *tree);
    int     cdecl   (*lookup_key)(int key, int kshift);
    int     cdecl   (*di_moveto)(OBJECT *tree, int mx, int my);
    int     cdecl   (*di_center)(OBJECT *tree);
    int     ucol;   /* underscore color */
    int     aicol;  /* alert icon color */
    int     aframe; /* alert frame size */
    int     ccol;   /* character color  */
    int     flydelay;   /* delay before flying (form_do()-only) */
    int     cdecl   (*hist_insert)(char *string);
    char    cdecl   (*ins_spcchar)(void);
} LTMFLY;


`bypass'  entspricht Bit-No. 0 und eine 1  schaltet  Let 'em Fly!  aus 
und  eine  0  schaltet es ein.  Alle anderen  Bits  funktionieren  um-
gekehrt,  d.h.  1  fr  an  und 0 fr  aus,  also  nach  dem  gesunden 
Menschenverstand.
Einige  C  Compiler legen Bitfelder brigens anders  als  Turbo-C  ab, 
daher:  Vorsicht.  `cdecl' heit in Turbo-C, da die Parameterbergabe 
auf  dem Stack erfolgt.  Eine Anpassung an andere (C-)Compiler  sollte 
kein groes Problem darstellen.

`v_mem'  und `*vpath' sind noch nicht benutzt ('vpath' zeigt zur  Zeit 
auf  einen String der Lnge Null),  `light' dient zum Feststellen  der 
Version  und  ist Read-Only!  Ebenso sind  die  von  Let 'em Fly!  be-
reitgestellten Funktionen Read-Only!

V1.17 Info:
-----------
ber  di_moveto()  kann man auch abfragen,  ob die  Dialogbox  fliegen 
kann,  oder ob ein Redraw ausgefhrt werden mu.  Hier zwei  ntzliche 
#defines ...

/* some useful defines ... */

#define fly_check(tree)     di_moveto(tree, -1, 0)
#define redraw_check(tree)  di_moveto(tree, -2, 0)

di_moveto()  sollte  nach  dem bekannten  Verfahren  in  der  LTMF_LIB 
(wurde mit der Version 1.14 vertrieben) eingebunden werden.  Ansonsten 
kann ich nur nochmal auf die Zusatzdokumentation verweisen.


                              Ausleitung
                              ==========

Wie  schon gesagt wollte ich nur sehen wie schnell das VDI  sein  kann 
und irgendwie ist dann dieses Programm entstanden.
Die  Flugroutinen waren eigentlich nur fr eigene  Programme  gedacht, 
aber in der ST-Computer 6/91 hat Robert Tolksdorf gezeigt,  da man so 
etwas prinzipiell auch resident installieren kann,  jedoch haben beide 
Programme  nichts  gemeinsam,  auer da wir beide auf  die  form_do() 
Sourcen von D.R. zurckgegriffen haben.
Der Rest ist eher aus der Not entstanden.  Dan Wilga hat ein  Programm 
mit  dem  Namen `FormDoIt!' geschrieben,  welches  es  ermglicht  die 
Dialoge  auch mit der Tastatur zu bedienen und zustzlich noch  einige 
Editierfunktionen  bereitstellte.  Leider ist seine form_do()  Routine 
nicht 100% kompatibel zum Original und es gab besonders bei  TOUCHEXIT 
Objekten   Probleme.   Zudem  benutzt  er  die  Line-A  Routinen   zur 
Grafikausgabe,  welche in der heutigen Zeit nicht mehr benutzt  werden 
sollten.  Auch  `FormDoIt!' hat mit Let 'em Fly!  nur so viel zu  tun, 
da  ich  viele  Funktionen  und  das  Prinzip  auch  in  Let 'em Fly! 
implementiert habe,  jedoch geht mein Programm wesentlich  weiter,  da 
es  a)  nicht nur form_do() ersetzt,  b) kein Line-A  benutzt  und  c) 
wesentlich `intelligenter' ist.
Was noch zu sagen ist,  da sog.  `Schweineprogramme' nur bis zu einem 
gewissen Grad untersttzt werden.  Unter `Schweineprogrammen' verstehe 
u.a.  ich Programme, die sich nicht an die Regeln des AES halten. Bei-
spielsweise  kennt UnLZH kein appl_init/exit,  OBWOHL es AES  Routinen 
benutzt.  Das Gleiche gilt auch fr PFX-PAK.  Weiterhin gibt es  immer 
noch  Programme,  welche kein XBRA verwenden.  Das betrifft in  erster 
Linie  Programme  aus  den USA.  XBRA ist  inzwischen  von  Atari  zum 
Standard  erhoben worden und sollte daher von JEDEM  Programm  benutzt 
werden,  welches Vektoren verbiegt. In Let 'em Fly! sind zwar ziemlich 
viele  Sicherheitsabfragen  enthalten,  aber alles kann man  nun  auch 
nicht abfragen.


Credits
-------
An  dieser Stelle will ich mich trotzdem bei den  beiden  o.g.  Leuten 
bedanken, da sie gezeigt haben, da solche Geschichten mglich sind.
Fr  das  Design  der Dialogboxen innerhalb und  auerhalb  (CPX)  von 
Let 'em Fly! wurde Interface von Olaf Meisiek verwendet.
Vergessen  will  ich  hier mal auch nicht die  drei  (ist  einer  mehr 
geworden) Betatester (Thanx).  Einen davon,  dem Martin  Khling,  mu 
ich  aber  jetzt nochmal getrennt danken,  da er auch  schon  im  non-
Betatester-Status viele Fehler und Unschnheiten gefunden hat.



Meine Adresse ... oder Tomaten, Drohbriefe etc. bitte an:

Oliver Scheel
Rothehausstr. 28
W-5000 Kln 30

Und  fr  die Leute,  die eine Piepmaschine (Modem) ihr  Eigen  nennen 
knnen oder auf Kosten der Uni den ganzen Tag im InterNet hngen:

MausNet: Oliver Scheel @ K
EMail:   Oliver_Scheel@k.maus.de

Let 'em Fly!     Man fliegt nicht mehr ohne ...




----
Rchzschreipfler (c) 1991 by Oliver Scheel

