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 er2624 62:35;308xH& a20522062;292:;=:7762!2:=:3074:77;D'g8L'g'GA@ADD''@GH4 0T U4)́ ɥхՍЁչմ́ԁٕѕxՍ4)͕̀ɕԁ4(4)]% !Q%耀]ѕɡ@@@@@@@@@@Ztaste 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 deO @ϙOωτ ϐOππpOOO πp@ψOπτω ώOχAωOϑONOpπ>ώ π> ψτOϐ ϏOp!ÉϘ@obald 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 er2624 62:35;308xH& a20522062;292:;=:7762!2:=:3074:77;D'g8L'g'GA@ADD''@GH4 0T U4)́ ɥхՍЁչմ́ԁٕѕxՍ4)͕̀ɕԁ4(4)]% !Q%耀]ѕɡ@@@@@@@@@@Z 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 hervr. Klic{t mapώωψBA@, /\p@q1A110Ap@1 h|ɝ͍ѕи4(4(1Ѐ䄀iȁ͕Mtρ9 τ ϑOONOψOpό@ÀOώ ϙOτ pϘ τωψCOG 2:72$4gg'Dg@'D<-qVW766FV 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 cdelWٛJJВP YJN ʈK `"03 sbs  aL% IHjNL .xi_ /~?~~< s s s s s 3 sbs"` ss s p3303 sbs [+˙IBzR*S+)IhQKs#+aASc{{[\E nt key, int kshift); int cdecl (*di_mo~eto)(OBJECT *tree, int mx, int my); int cdecl (*di_center)(OBJECT *tree); i~t uc|; /* u~derscore colo