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

                     (Flying Dials and more ...)

                             Version 1.19
                              July  1992

                     (c) 1991-92 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  drfte 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 h„ufig 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.

Die wichtigesten Features:
--------------------------

 - Fliegende Dialoge:
     Viele  Dialoge werden flugf„hig gemacht.  Hiermit kann  man  Ver-
     decktes sichtbar machen.  Auch die Alert-Boxen k”nnen jetzt flie-
     gen.
     Durch  ein  ausgeklgeltes  Verfahren sind die  Boxen  auch  ohne
     Blitter  beim  Verschieben ertr„glich schnell und  optisch  opti-
     miert.  Zudem  l„uft die ganze Geschichte  speicherplatzoptimiert
     ab,  d.h.  auch  wenn  wenig Speicher vorhanden ist,  ist  es  in
     einigen F„llen noch m”glich 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  untersttzt,
     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.

 - Zus„tzliche Editierfunktionen:
     Sind  in  einem Dialog editierbare  Eingabefelder  vorhanden,  so
     werden zus„tzliche Editierfunktionen  bereitgestellt.  U.a.  wird
     auch  das  GEM-Clipboard  untersttzt,  sowie  eine  History  der
     letzten  20  Eingaben gefhrt.  Einige  Editierfunktionen  k”nnen
     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 mssen.  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.  Fr Let 'em Fly!  brauchen  Sie
     keinen Flugschein.  Grundkenntnisse in der Bedienung des  Steuer-
     aggregats sollten aber trotzdem vorhanden sein.

Das  Programm  l„uft auf allen ST/TT Rechnern  in  allen  Aufl”sungen.
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 m”glich, eingeschlos-
sen  davon sind PD-Versande!  Die Rechte bleiben in allen  F„llen  bei
mir. Zuwiderhandlungen werde ich strafrechtlich verfolgen.

Zu Let 'em Fly! geh”ren 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  fr   die
                              Alert-Boxen
     - GEM2ICON.RSC           Die Icons aus GEM/2 fr 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  fr   Pro-
grammierer und Fortgeschrittene erh„ltlich. 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 Rckumschlag bei mir bezogen werden.

Jetzt aber erstmal das ...

Ich  bernehme  keine Haftung oder Verantworung fr direkte  oder  in-
direkte  Sch„den 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  An-
leitung  erw„hnt werden,  sind eingetragene Warenzeichen  und  sollten
als solche betrachtet werden.


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

Das eigentliche Programm LETEMFLY.PRG l„žt 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
n„chsten Reset ist es dann automatisch installiert.
     Daneben   gibt   es   auch   noch   ein    Konfigurationsprogramm
LET_CONF.PRG/ACC.  Mit diesem Programm ist es m”glich Let 'em Fly!  an
die pers”nlichen Bedrfnisse anzupassen.  Es kann entweder vom Desktop
aus gestartet werden oder als Accessory installiert werden.  Im  zwei-
ten  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 das Konfigurationsprogramm nicht unbedingt klein  ist
und  nicht jeder 2 oder 4 MByte Speicher besitzt,  empfehle  ich  `The
Chameleon¿' von Karsten Isakovic.  Mit diesem Programm kann man Acces-
sories nachladen und auch wieder entfernen.
     Das  Konfigurationsprogramm  gibt's  auch als CPX  fr  das  neue
Kontrollfeld  von  Atari.  Es  heižt  LET_CONF.CPX  und  muž  im  ent-
sprechendem Verzeichnis liegen.


                              Bedienung
                              =========

Grunds„tzliches
---------------
Nicht alle Dialogboxen werden von Let 'em Fly!  untersttzt, da einige
Leute eigene Routinen zur Dialogverarbeitung programmiert haben.  Hier
kann  Let 'em Fly!  garnicht  oder nur teilweise  seine  Features  zur
Verfgung stellen.  Fr alle Programmierer,  die Let 'em Fly!  optimal
ausnutzen  wollen,   gibt  es  (wie  oben  schon  erw„hnt)  eine   Zu-
satzdokumentation.
     Auch  die Dialoge im Desktop werden nicht  untersttzt,  da  hier
das  TOS  seine Routinen direkt anspringt.  Das wird sich  aber  wahr-
scheinlich mit der Einfhrung von MultiTOS „ndern.
     Falls  irgendetwas  nicht funktionieren sollte,  dann  bitte  ich
erst  die Einstellungen mit dem Konfigurationsprogramm (s.u.) zu  pr-
fen!

So, nun geht's aber los ...

Let 'em Fly!
------------
In  einer  Dialogbox  gibt es in erster  Linie  anw„hlbare  und  nicht
anw„hlbare  Objekte.  Falls man jetzt ein nicht anw„hlbares Objekt  in
einem  Dialog  mit  der linken Maustaste anklickt  und  die  Maustaste
festh„lt,   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.),  l„žt 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 zus„tzlich die rechte Maustaste (oder eine der  Shift-Tasten)
gedrckt  h„lt,  so  verschwindet die Box und  ein  Geisterrahmen  er-
scheint.  Somit ist es jetzt m”glich `durch' die Box zu schauen, falls
diese  etwas  verdeckt.  Der Geisterrahmen l„žt  sich  natrlich  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  untersttzen auch nur ber ein spezielles  Objekt  `fliegen'
k”nnen (der File-Selector `Selectric¿' untersttzt  z.B.  Let 'em Fly!
und  man  kann dort die Box ber das Eselsohr in  der  oberen  rechten
Ecke  verschieben).  Man kann die Exlusivit„t des  `Flugobjekts'  aber
durch  zus„tzliches Drcken der rechten Maustaste  unterdrcken,  d.h.
man kann jetzt auch die anderen Objekte wieder zum Fliegen benutzen.

Falls  die  Box sich zwar noch normal  verschieben  l„žt,  nicht  aber
durchsichtig gemacht werden kann,  dann steht nicht genug Speicher zur
Verfgung  um die komplette Box zu sichern.  Der erste  Modus  zerlegt
bei  nicht ausreichendem Speicher die Flugbahn in  entsprechend  viele
Einzelschritte  und  fhrt diese dann aus,  daher hat  man  hier  mehr
Chancen.

Klickt  man  aužerhalb des Dialogs,  so machte  es  normalerweise  nur
`Pling',  nun kommt zus„tzlich der Dialog zur Mausposition `geflogen'.
Diese  Funktion  ist  besonders bei  Grožbildschirmen  sehr  ntzlich.
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 Drcken von [ALT]+[CTRL] beim Aufruf(!) des  Dialoges
wird die Box wieder richtig zentriert.  Diese Funktion zeigt auch  bei
fremden Flugroutinen Wirkung.

Auch  ist es nun m”glich,  Dialogboxen an der  aktuellen  Mausposition
erscheinen zu lassen.

Bei  installierten virtuellen Screens a la `BigScreen 2.0' k”nnen  die
Dialoge  im  zur Zeit sichbaren  Ausschnitt  zentriert  werden.  Somit
erspart man sich so manche Suche nach dem Dialog.  Alert-Boxen  werden
unabh„ngig  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 mssen.

Zusammenfassung:

   - Nicht  alle  Boxen k”nnen fliegen!  Es muž a)  gengend  Speicher
     vorhanden  sein und b) die  entsprechende  Betriebssystemfunktion
     vom Programm aufgerufen werden.
   - Manchmal  ist es zwar m”glich die Box zu  verschieben,  aber  sie
     l„žt  sich nicht mehr durchsichtig machen.  In diesem Fall  steht
     nicht   mehr  gengend  Speicherplatz  fr  die   Bufferung   der
     kompletten Box zur Verfgung.
   - Weiterhin  k”nnen  Programme,  welche  nicht  darauf  vorbereitet
     sind,  daž  ihre Boxen fliegen k”nnten,  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
     dafr 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 Farbaufl”sung steht
auch  noch  eine andere Darstellungsart  zur  Verfgung).  Drckt  man
diesen Buchstaben bzw.  diese Zahl in Verbindung mit der  [ALT]-Taste,
so wird das entsprechende Objekt angew„hlt.  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 M”glichkeit auch die Tasten [UNDO]  und  [HELP]
belegt:

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

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

Grož-  und  Kleinschreibung wird nicht  bercksichtigt.  Beim  Drcken
einer dieser Tasten wird dann das jeweilige Objekt angew„hlt.
     Insgesamt werden 38 Tasten (A-Z,  0-9, HELP, UNDO) verwaltet. Das
Default-Objekt  (wird beim Drcken von RETURN angew„hlt 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 F„llen mit dieser M”glichkeit
und  der  RETURN-Taste  den  Dialog  bearbeiten.  Ist  kein  Edit-Feld
vorhanden, so kann man auch [ALT] weglassen.

š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  zus„tzliche Editierfunktionen  zur  Verfgung
gestellt.

Neben den schon im Betriebssystem fest eingebauten ...

[Cursor Up]         Ein Eingabefeld zurck.
[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
                    n„chsten Eingabefeld gesprungen.
[SHIFT]+[RETURN]    springt  zum n„chsten Eingabefeld (auch  wenn  ein
                    Default-Objekt vorhanden ist).
[SHIFT]+[TAB]       Ein Eingabefeld zurck.
[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]     l”scht 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
drckt  [Cursor  Up],  so  gelangt man  ins  letzte  Eingabefeld.  Fr
[Cursor Down] gilt das Umgekehrte.
     Weiterhin   wird  auch  die  direkte  Cursor-Positionierung   in-
nerhalb(!)  des  Edit-Feldes  durch  die  Maus  untersttzt.  Das  Be-
triebssystem  setzt normalerweise den Cursor beim Anw„hlen eines  Ein-
gabefeldes  immer an das Ende.  Ist eine direkte  Positionierung  m”g-
lich,  so verwandelt sich der Mauscursor ber dem editierbaren Feld in
einen Textcursor.

Alle erlaubten Zeichen fr Dateinamen und Pfade
-----------------------------------------------
... kann  man jetzt in die dafr vorgesehenen Eingabefelder  eingeben.
Das  TOS  verh„lt sich da SEHR merkwrdig,  zum einen  l„žt  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  F„llen 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 anw„hlen  kann.  Diese  Funktion
kann nur aufgerufen werden,  wenn in das editierbare Feld alle Zeichen
eingegeben werden drfen.

GEM-Klemmbrett:
---------------
Innerhalb  der  editierbaren  Felder wird  auch  das  Clipboard  (GEM-
Klemmbrett)  untersttzt,  d.h.  man kann z.B.  in anderen  Programmen
Text  ausschneiden und dann sp„ter im Dialog einfgen.  Um  das  Clip-
board  benutzen  zu k”nnen,  muž dieses vorher auch  definiert  worden
sein,  d.h.  das Betriebssystem muž wissen wo die Daten  abgespeichert
werden  sollen.  Hierzu  muž die Environment-Variable  `CLIPBRD'  oder
`SCRAPDIR'  gesetzt worden sein.  Benutzt man `Gemini',  so  geschieht
das mehr oder weniger automatisch.  Andernfalls kann man diese Variab-
le durch spezielle Programme (z.B.  `JCNBOOT' von Jens C.Neffe) setzen
lassen. Die zus„tzliche Zeile sieht dann folgendermažen aus:

CLIPBRD=Pfad

Beispiel:

CLIPBRD=C:\CLIPBRD

Folgende Clipboard-Funktionen werden untersttzt:

[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 gel”scht.
[CTRL]-[V]     Fgt  den Inhalt in die aktuelle Zeile  ein.  Der  alte
               Inhalt wird dabei gel”scht.  Will man das unterdrcken,
               so  kann  man  zus„tlich  die  [SHIFT]-Taste   gedrckt
               halten.

Wird bei den ersten beiden Funktionen zus„tzlich [SHIFT] gedrckt,  so
wird  der Inhalt des Klemmbretts nicht gel”scht und der  entsprechende
Text  wird angeh„ngt.  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 Eintr„ge in der History  werden
unterdrckt (fr 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 verh„lt  sich  die  History,
weitestgehend wie die in der Commandline-Shell `Mupfel'.

Viele   der  zus„tzlichen  Editierfunktionen  (aužer  die   Mausunter-
sttzung)  sind  auch in Dialogen mit  fremden  Routinen  ansprechbar.
Hier heižt es dann:  Ausprobieren!  Die MagicDials von Peter Hellinger
werden brigens optimal von Let 'em Fly! untersttzt.


Die neuen Alert-Boxen
---------------------
Die ursprnglichen Alert-Boxen des Atari ST wurden berarbeitet, damit
sie u.a. auch in den Genuž von Let 'em Fly! kommen. Die drei Kn”pfe in
der Alert-Box lassen sich neben dem oben beschriebenen Verfahren  auch
noch  ber F1-F3 anw„hlen,  um so unn”tige Affengriffe  zu  vermeiden.
Ebenso braucht man fr die Tastenkrzel keine [ALT]-Taste zu  drcken.
Weiterhin  sind diese Boxen nur noch so grož,  wie sie  wirklich  sein
mssen damit der Text hineinpažt  und es lassen sich zudem neue  Icons
beim  Programmstart  nachladen.   Die  entsprechende  Datei  muž  dann
LET_ICON.RSC  heižen  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
mssen  nur  ins  entsprechende  Verzeichnis  kopiert  und   umbenannt
werden.

Die vom TOS erzeugten Fehlerboxen,  werden ebenfalls von  Let 'em Fly!
ersetzt.  Dabei unterscheidet man zwei Arten:  kritische Fehler  (z.B.
`Daten  auf  Disk  x  defekt')  und  Fehlermeldungen  der  Applikation
(z.B. `Nicht gengend Speicher').

Die  erste  Variante  wird von  Let 'em Fly!  z.Zt.  nur  unter  Mag!X
(Multitasking AES von BELA) untersttzt,  da hier die Vorraussetzungen
erfllt sind (Reentranz des AES und Desktop ist eigenst„ndige Applika-
tion).  Vermutlich wird MultiTOS ebenfalls diese Vorraussetzungen  er-
fllen  und daher kann man damit rechnen,  daž diese Boxen  auch  hier
freigegeben werden.
     Die Event-Critic Boxen unterscheiden sich vom Original in zweier-
lei Hinsicht.  Zum einen wurden sie mit sinnvollen Icons versehen, zum
anderen existiert nun auch ein `Ignore'-Button,  d.h.  der Fehler wird
einfach  ignoriert.  Dieser Button sollte aber nur im Notfall  benutzt
werden,   da  einige  Applikationen  merkwrdige  Fehler   produzieren
k”nnen.

Die  zweite  Variante  l„uft  unter  allen  Vorraussetzungen  und  un-
terscheidet sich vom Original dadurch,  daž eine pr„zisere  Fehlermel-
dung mit Nummer ausgegeben wird.


Have a nice time with Niceline
------------------------------
`Niceline' ist eigentlich ein eigenst„ndiges Programm,  welches nur in
Let 'em Fly!  integriert wurde.  Es erfolgt daher an dieser Stelle nur
eine  kurze Beschreibung.  Fr weitere Informationen empfehle ich  die
Stand-Alone Version.
     Hat  sich jemand schonmal die Trennstriche im  `Gemini'-Men  ge-
nauer  angeschaut?  Er  wird  sicher bemerkt  haben,  daž  hier  nicht
normale  Minuszeichen verwendet wurden,  sondern eine  richtig  sch”ne
Linie.  Leider  gibt's  das bis jetzt nur in  Gemini.  Mit  `Niceline'
werden auch fremde Mens entsprechend angepažt.
     Damit aber das Erscheinungsbild innerhalb von Applikationen,  die
auch  Mens  in Fenstern ber die Geiss-Libs  realisiert  haben  (z.B.
Ph”nix und Interface),  gleich bleibt, untersttzt Niceline auch diese
Form von Mens.
     Leider  gibt's  Probleme bei GFA-Basic  Programmen,  daher  wurde
`Niceline' so ausgelegt, daž es sich bei einem bestimmten Men-Muster,
welches  meist in GFA-Basic Programmen verwendet  wurde,   automatisch
deaktiviert.  Leider  haben einige andere Programme (z.B.  Rufus  1.1)
ein  „hnliches  Muster,  womit  hier auch  keine  sch”nen  Linien  in-
stalliert werden.

WICHTIG:  Der  umgekehrte Fall kann  u.U.  auch  eintreten,  d.h.  ein
          kritisches GFA-Basic Programm konnte nicht durch das  Muster
          identifiziert werden.  Das macht sich darin  bemerkbar,  daž
          man im Men falsche Punkte ausgew„hlt werden.  Oft kann  man
          das Programm durch diesen Mižstand auch nicht verlassen.

Arbeitsweise:

Installiert ein Programm eine Menleiste,  so wird zuerst getestet, ob
es  sich um eine Menleiste handelt,  die vom GFA-Basic Befehl  `menu'
stammen  k”nnte.  Diese Menleiste erkennt Niceline dadurch,  daž  die
sechs  Accessory Eintr„ge in der Struktur keine fhrenden  Leerzeichen
aufweisen.  Dabei  wird jedoch nur der erste  Eintrag  getestet.  Hier
kann man natrlich einen Patch ansetzen,  der bei Programmen die  zwar
mit  Niceline  funktionieren wrden,  aber durch dieses  Merkmal  dis-
qualifiziert werden (z.B. Rufus-Men).
     Ist diese Hrde berwunden,  so werden die disableden Objekte mit
dem  ausschliežlichem Inhalt von Minus- und  Gleichheitszeichen  durch
ein benutzerdefiniertes Objekt ersetzt,  welches die Linie bei  Bedarf
malt.

Bei den Mens in den Fenstern wird etwas anders vorgegangen. Hier wird
ein  objc_draw()  mit  bestimmten  Parametern  und  einer   bestimmten
Baumstruktur abgefangen.

Will man in eigenen Programmen von den Nicelines profitieren, kann man
ber eine Funktion auch eigene Objekt-B„ume patchen lassen.


                      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  ver„ndert.  Auf  den
ersten  Blick sieht es vielleicht etwas  unbersichtlich  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.  Drckt man zus„tzlich [SHIFT],  so wird nicht  zeilenweise,
sondern  seitenweise  gebl„ttert.  Beim  CPX-Modul ist  das  aus  pro-
grammiertechnischen Grnden leider nicht m”glich.

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) angew„hlt  werden
          kann.

- Cancel  Alle  Einstellungen werden rckg„ngig gemacht und  das  Kon-
          figurationsprogramm wird verlassen.

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

Da  es  inzwischen so viele Schalter geworden  sind,  wurde  das  Kon-
figurationsprogramm  schnell  unbersichtlich.  Daher kann  man  jetzt
bestimmte  und  weniger h„ufig gebrauchte  Schalter  ausblenden.  Dazu
gibt es im oberen Drittel drei Kn”pfe:

- Config. CPX  Hier  gelangt  man  zu  dem  Dialog,  in  dem  man  die
               sichtbaren  Schalter bestimmen kann.  Die  selektierten
               Eintr„ge  werden angezeigt,  die anderen  ausgeblendet.
               Mit  `OK' wird die Einstellung bernommen,  mit  `Save'
               kann man die Selektion abspeichern.

- Selection    Mit  diesem  Knopf  wird  nur  die  bei  `Config.  CPX'
               eingestellte Auswahl dargestellt.

- All          Falls  man doch mal an einen selten gebrauchten  Schal-
               ter  muž,  so  kann man mit diesem Button  schnell  mal
               alle   Schalter  anzeigen,   die  Auswahl   wird   dann
               ignoriert.

Nun  aber zu den Schaltern bzw.  Reglern.  Die Schalter  stellen  sog.
Pop-Up Mens dar,  d.h. ein Klick auf den Schalter zaubert eine kleine
Auswahlbox  hervor.  Klickt  man auf den  erkl„renden  Text,  so  wird
zwischen den beiden M”glichkeiten hin- und hergeschaltet.

- Let 'em Fly!      šber diesen Schalter l„žt 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 fr die zus„tzlichen  Editier-
                    funktionen da.

- Flying Dials      Mit diesem Schalter werden die Flugroutinen  akti-
                    viert. Die Dialoge k”nnen 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 tr„ge.
                    Hollow:   Hier  wird  mit einem  einfachen  Rahmen
                              gearbeitet.

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

- Dials to Mouse    Die  Dialoge  werden  nun  nicht  mehr  zentriert,
                    sondern erscheinen an der aktuellen Mausposition.

- Jumpin' Dials     Wer nicht m”chte, daž die Dialoge zur Mausposition
                    geflogen  kommen,  wenn man aužerhalb des  Dialogs
                    klickt,   kann  hier  diese  Funktion  abschalten.
                    (Natrlich  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
                    l”schen 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 L”schen der Box  der  ent-
                    sprechende Bildschirmausschnitt neugezeichnet wer-
                    den soll.

- VSCR Support      Dieses  megagigantische Krzel VSCR  heižt  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  k”nnen,  welcher
                    Bildschirmausschnitt  denn  nun  gerade   sichtbar
                    ist.  Ist  dieser  Punkt  eingeschaltet,  so  wird
                    dieses  Verfahren untersttzt.  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,  unabh„ngig 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.

- Niceline          Konfiguriert die sch”nen Striche in den Mens.

- Fly Delay         Damit man in die Buttons `reinfahren'  kann,  ohne
                    daž der Dialog vorher anf„ngt zu fliegen, kann man
                    hier  eine  Verz”gerung einstellen  (0  steht  fr
                    keine  Verz”gerung).  Die pers”nliche  `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.  Natrlich  ist  das  nur  fr  die  Farb-
                    aufl”sungen 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  Tastenkrzel
                    eine  Farbe zugewiesen werden,  z.B.  ist  in  der
                    mittleren Aufl”sung 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 drfte
     fr 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 h„ngt z.B. im ikbdsys drin, blož wofr (SINN!?).
     Dort  bringt  er anscheinend die  Tastencodes  vollkommen  durch-
     einander,  so  daž  nur  der LGS damit etwas  anfangen  kann  (na
     sch”n).  Warum benutzt der LGS nur im GEMDOS-Trap XBRA und  sonst
     nirgendswo?  Ich weiž ja nicht was der freundliche  Atari-H„ndler
     empfiehlt, 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
     Abstrzen kann es jedoch nicht fhren.
   - Bei  MiNT-Versionen  kleiner-gleich 0.91 kann  sich  Let 'em Fly!
     nicht   installieren.   Das  Problem  haben  aber   auch   andere
     Programme. Abhilfe: MiNT 0.94 benutzen.
   - Wird ein Dialog in NeoDesk mit [RETURN] beendet,  so verschwindet
     er nicht. Abhilfe: Desktop aus TOS 2.06 oder Gemini benutzen.


                           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'.  Unter bestimmten
Umst„nden  (s.o.) wird auch etv_critic verbogen.  Zudem wird ein  sog.
Cookie-Jar  installiert (benutzt auch die Kennung  `LTMF').  Eine  ge-
nauere  Beschreibung ist im Programmer's Guide `Three Flights  Up'  zu
finden.


                              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 fr eigene  Programme  ge-
dacht,  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,  aužer daž wir beide auf  die
form_do() Sourcen von D.R. zurckgegriffen haben.
     Der  Rest  ist eher aus der Not entstanden.  Dan  Wilga  hat  ein
Programm mit dem Namen `FormDoIt!' geschrieben,  welches es erm”glicht
die  Dialoge  auch mit der Tastatur zu bedienen  und  zus„tzlich  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!  im-
plementiert 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 untersttzt  werden.  Unter  `Schweineprogrammen'
verstehe  u.a.  ich Programme,  die sich nicht an die Regeln  des  AES
halten.  Beispielsweise kennt UnLZH kein appl_init/exit, OBWOHL es AES
Routinen benutzt.  Das Gleiche gilt auch fr 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 m”glich sind.
     Fr das Design der Dialogboxen innerhalb und aužerhalb (CPX)  von
Let 'em Fly! wurde Interface von Olaf Meisiek verwendet.
     Vergessen will ich hier mal nicht die Betatester  (Thanx).  Einen
davon,  dem  Martin  K”hling,  muž  ich aber  jetzt  nochmal  getrennt
danken,  da  er auch schon im non-Betatester-Status viele  Fehler  und
Unsch”nheiten gefunden hat.



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

Oliver Scheel
Rothehausstr. 28
W-5000 K”ln 30

Und  fr  die Leute,  die eine Piepmaschine (Modem) ihr  Eigen  nennen
k”nnen oder auf Kosten der Uni den ganzen Tag im InterNet h„ngen:

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

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




----
R„chzschreipf„ler (c) 1991-92 by Oliver Scheel