HeliosMouse 1.1 FredFish 111 --------------- OK, hier ist ein kleines Programm mit dem Namen "HeliosMouse": mein Beitrag zu den "SunMouse"-ähnlichen Utilities. HeliosMouse installiert einen `input-handler´, welcher immer dann ein Window aktiviert, wenn der Zeiger über ein solches, aber inaktives, geführt wird ( d.h. über den Rahmen des Windows in dieses hinein ). Um den `input-handler´ zu installieren, geben Sie ein: 1> HeliosMouse Die Installation wird durch Ausgabe einer Meldung bestätigt. Sie brauchen HeliosMouse nicht mit RUN zu starten, da nur der Handler abgelegt wird und das Programm selber sich anschließend verabschiedet, wobei es den Handler im Speicher zurückläßt. Der Handler benötigt nur etwa 600 Bytes und somit wenig Speicherplatz. Ist HeliosMouse ersteinmal installiert, so wird jedesmal, wenn Sie mit der Maus über ein inaktives Window fahren,dieses automatisch aktiviert. Wenn Sie aber ein neues Window öffnen ( z.Bsp. mit CLI-Befehl `newcli´ ), so bleibt dieses Window unter der Maus inaktiv, bis die Maus bewegt wird oder ein Mausknopf gedrückt wird. ( Sie können dies allerdings ändern, indem Sie HeliosMouse das aktive Window statt mit der Routine "IECLASS_RAWMOUSE" und "IECLASS_RAWKEY" mit "IECLASS_TIMER" abfragen lassen. Bedenken Sie dabei aber, daß diese Abfrage des Timers etwa 10 Mal pro Sekunde durchgeführt wird, was natürlich das System etwas verlangsamt). Um den `input-handler´ aus dem Speicher zu entfernen, rufen Sie HeliosMouse einfach ein zweites Mal auf. HeliosMouse richtet einen normalen, den Konven- tionen entsprechend benannten `message-port´ ein, welcher dann die Daten zum Löschen des Handlers bereithält. Näheres über diese Funktion erfahren Sie beim genaueren Studium des Programmcodes. Nachdem Sie die `executables´ von HeliosMouse, falls nötig, "entpackt" haben, legen Sie `HeliosMouse´ ins `c´-Directory und `Helios-Handler´ in das `l´- ( oder auch in das aktuelle ) Directory. Zum Kompilieren und Linken von HeliosMouse geben Sie ein: 1> LC -v HeliosMouse HeliosHandler 1> ASM HandlerStub 1> BLINK WITH HeliosMouse.lnk 1> BLINK WITH Helios-Handler.lnk Falls Sie den Helios-Handler mit "-dKEY_ONLY" kompilieren, so werden die Windows nur dann aktiviert, wenn ein Mausknopf gedrückt wird ( NICHT bei Bewegung der Maus ). Dies erinnert an "SunMouse", wobei aber keine "falschen" Input-Abfragen mehr gesendet werden können, sodaß Gadgets vom Programm nicht mehr so leicht fälschlicherweise als "gedrückt" angesehen werden. Sie können die "-b"- und "-r"-Optionen auf HeliosMouse, nicht aber auf den Helios-Handler anwenden. Ich hoffe, SIe haben Ihren Spaß an dem kleinen Programm! Davide P. Cervone University of Rochester Computing Center dpvc@tut.cc.rochester.EDU Taylor Hall dpvc@ur-tut.UUCP Rochester, New York 14627 DPVC@UORDBV.BITNET (716) 275-2811 ------------------------------------------------------------------------------- [ "A Virtuoso is a musician with real high morals"] Wie bekannt, hatte HeliosMouse bisher den Nachteil, daß man keine WorkBench- Icons von einem Disk-Window in ein anderes bewegen konnte. Das ( evtl. noch komprimierte ) beiliegende File korrigiert diesen Fehler. Der folgende Zusatz sollte in die Dokumentation eingefügt wrden, und zwar vor dem Absatz, welcher mit den Worten "Um den `input-handler´ aus dem Speicher zu entfernen, ..." beginnt: Halten Sie einen der Mausknöpfe gedrückt, während Sie den Mauszeiger in ein anderes Window bewegen, so wird dieses nicht aktiviert. Dies ist so eingerichtet, damit Sie Icons von Window zu Window verschieben sowie PullDown-Menüs anschauen können, ohne die dabei berührten Windows gleich ungewollt zu aktivieren. Achten Sie aber wirklich darauf, daß Sie den Menü-Knopf der Maus gedrückt halten, wenn Sie sich in dem Window befinden, dessen Menü Sie benutzen wollen. Die sogenannten "Pop-up"-Menüs sind eigentlich besser für ein Interface wie HeliosMouse geeignet, werden aber leider nicht von INTUITION unterstützt. Ich nehme an, daß Sie ermessen können, was diese Verbesserung bedeutet. Die Korrektur erleichtert wesentlich den Gebrauch von Gadgets, Menüs und den anderen "anklickbaren" oder "beweglichen" Objekten der WorkBench. Die Änderung steht im `Helios-Handler.c´ ( den neuen Quellcode finden Sie in "comp.sources.amiga"¹ ). Der folgende binäre Code ersetzt die alte Version des `Helios-Handler´ - `HeliosMouse´ selbst brauchen Sie nicht austauschen. Ein Dankeschön an John für seinen Bericht über dieses Problem. Leider habe ich sehr lange dafür gebraucht, es zu beheben, aber ich bin schon um etwa 700 Antworten im Rückstand. Davide P. Cervone dpvc@tut.cc.rochester.EDU dpvc@ur-tut.UUCP DPVC@UORDBV.BITNET ¹ ) US-amerikanisches DFÜ-Netz von Amiga-Usern ( Anm.d.Übers. ) dtsch.v.K.-H.Hensel, 20.08.88