AutoFocus Version 2.01, von Vincent Lefvre.


Nie wieder in ein Fenster klicken mssen, damit damit es Eingabefokus
bekommt! Wenn der Mauszeiger in ein Fenster bewegt wird, gibt AutoFocus
dem Fenster automatisch den Eingabefokus, wenn ihn das Fenster schon
einmal hatte. Dieses Modul untersttzt Panes, Dialogfenster (mit
beschreibbaren Feldern) und die Block-Auswahl.


AutoFocus ist FREEWARE (es ist NICHT public domain).

Anmerkung: Andrew Clover / Andrew Bookers Modul WimpSWIVe ist erforderlich,
um Wimp_ SWIs abzufangen. Dieses Modul wird nicht zusammen mit AutoFocus
verbreitet. Es ist aber erhltlich unter:

  http://abooker.homeip.net/riscos/


VORSICHT ! Es treten Inkompatibilitten mit anderen Programmen auf und einige
Anwendungen oder das ganze System knnte abstrzen. Das liegt hufig daran,
da Anwendungen davon ausgehen, da der Eingabefokus sich nur durch einen
Mausklick ndern lt. Insbesondere gibt es Probleme mit:

_ MultiDesk 1.13: MultiDesk ist nicht kompatibel mit AutoFocus, da es
Wimp_ SWIs mit seiner eigenen Routine abfngt. Es sollte gendert werden
und WimpSWIVe benutzen.

_ Zap 1.31: Mglicherweise zeigt sich ein eigenartiges Verhalten, aber mehr
nicht. Z.B.: Wenn ein Zap-Fenster den Eingabefokus nach dem Schlieen eines
anderen Zap-Fensters erhlt, wird Zap das nicht bemerken (Sie mssen also
klicken).

_ StrongEd (inc. 4.14 - 4.53): Mglicherweise meldet StrongED "illegal
window handle" Fehler ("Eine Fenster-Referenz ist ungltig") (manchmal
verschwindet das obere Fenster, wenn Sie auf dem Schliesymbol eines
StrongED Fensters klicken), und Sie mssen StrongED beenden.

_ Draw 0.99: Draw kann abstrzen. Zum Beispiel, drcken Sie F3 auf einem
Draw-Fenster. Die "Speichern unter"-Box erscheint. Drcken Sie die
Eingabetaste ber dem Anwendungsfenster. Sie erhalten eine Nachricht
"unrecoverable internal error (" ("Unbehebbarer interner Fehler") und
Draw wird beendet.


Man kann das Verhalten von AutoFocus ndern, indem man den aktuellen
Modus wechselt. Der Modus ist ein 3-Bit-Integerwert (von 0 bis 7),
wobei die Bits folgende Bedeutungen haben:

  * Bit 0 (Wert = 1 wenn gesetzt)
      AutoFocus ist aktiviert, wenn Bit nicht gesetzt ist,
      AutoFocus ist deaktiviert, wenn Bit gesetzt ist.

  * Bit 1 (Wert = 2 wenn gesetzt)
      Wenn das Bit gesetzt ist, wird der Eingabe-Fokus eines Fensters
      von AutoFocus nie entzogen, d.h. wenn der Mauszeiger ber ein
      Fenster bewegt wird, das noch nie den Eingabe-Fokus hatte, dann
      behlt das Fenster den Eingabe-Fokus, das ihn bisher besitzt.

  * Bit 2 (Wert = 4 wenn gesetzt)
      Wenn das Bit gesetzt ist, wird der Eingabe-Fokus des aktuellen
      Fensters von AutoFocus nicht entzogen, wenn der Mauszeiger ber
      ein Men bewegt wird, sondern das Fenster mit dem Eingabe-Fokus
      behlt ihn.

  * Bit 3 (Wert = 8 wenn gesetzt)
      Wenn das Bit gesetzt ist, verhlt sich AutoFocus wie folgt:
      Wenn eine Anwendung einem ihrer Fenster den Eingabe-Fokus
      entzieht (ohne ihn gleichzeitig einem anderen Fenster zu geben),
      wird AutoFocus diesem Fenster den Eingabe-Fokus nicht mehr geben,
      auch wenn der Maus-Zeiger darber bewegt wird, also so, als ob
      dieses Fenster den Eingabe-Fokus nie gehabt htte.

Der Standard-Modus ist 0. Der Modus kann beim Starten mit RMRun als
Parameter angegeben werden (siehe !Run Datei: der Modus wird dort auf
4 gesetzt). Er kann auch mit dem *AutoFocusMode Kommando gendert und
angezeigt werden: Ohne Parameter wird der aktuelle Modus angezeigt,
mit einem Parameter wird der Modus gendert. Bit 0 kann mit dem
*ToggleAutoFocus Kommando hin- und hergewechselt werden; das kann
sehr hilfreich sein, wenn das Kommando an einen Hot-Key gebunden ist.


In jedem Fall benutzen Sie Autofocus auf eigenes Risiko. Wenn Sie einen
Programmfehler finden, senden Sie mir bitte einen bug report an die
untenstehende Adresse.


Danke an die comp.sys.acorn.programmer Mitglieder fr ihre Hilfe.

Vincent Lefvre

e-mail (AutoFocus): autofocus@vinc17.org
e-mail (personal): vincent@vinc17.org
WWW (home page): http://www.vinc17.org/
WWW (Acorn / RISC OS page): http://www.vinc17.org/acorn/

------
Thanks to my brother Jrme, and Thomas Boroske and Stefan Bellon for the
translation, and also to Peter Teichmann, Tassilo Halbritter, and Michael
Bader.
