home *** CD-ROM | disk | FTP | other *** search
-
- ------------------------------------------------------
- SetActiveWin 1.2 (30.11.93) © Franz Schwarz - Freeware
- ------------------------------------------------------
-
- Aktiviert genau das Fenster, das Sie wollen
-
- Written & © 1993 by
- Franz Schwarz
- Mühlenstraße 2
- D-78591 Durchhausen, Germany
- Uucp: Franz_Schwarz@mil.ka.sub.org
- Fido Classic: 2:2476/506.18
-
-
- SetActiveWin ist ein kleines Utility, das beliebige Fenster aktivieren
- kann, wobei eine Vielzahl von Eigenschaften angegeben werden kann, um
- das Fenster zu bestimmen.
-
- Die Kommandozeilen-Argument-Schablone lautet:
-
- WINDOWNAME=WPAT,TASKNAME=TPAT,SCREENNAME=SPAT,PUBSCREENNAME=PSPAT,
- CASE/S,TOFRONT/S:
-
- Alle in der ersten Zeile aufgeführten Argumente erwarten dabei die Angabe
- eines Filter-Namesmusters, anhand dessen SetActiveWin das zu aktivierende
- Fenster auswählt.
-
- WINDOWNAME=WPAT erwartet dabei das Filter-Namensmuster, das auf den
- Fensternamen angewandt wird. Falls dieses Argument weggelassen wird,
- passen alle Fensternamen.
-
- TASKNAME=TPAT erwartet das Namensmuster, das auf die Namen der Eigner-Tasks
- des Fensters angewandt wird. Falls das Namensmuster nicht auf den Namen
- des Eigner-Tasks paßt, und der Eigner-Task ein Shell-Prozeß darstellt, wird
- auch der Name des gerade von diesem Prozeß ausgeführten Dos-Befehls auf
- Übereinstimmung mit dem angegebenen Namensmuster geprüft. Falls dieses
- Argument weggelassen wird, passen alle Fenster, auch die ohne eingetragenen
- Eigner-Task.
-
- SCREENNAME=SPAT erwartet das Namensmuster, das auf den STANDARDMÄßIGEN
- Namen des Schirms, auf dem sich das Fenster befindet, angewandt wird.
- Falls dieses Argument nicht angeführt wird, passen alle standardmäßigen
- Schirm-Namen.
-
- PUBSCREENNAME=PSPAT erwartet das Namensmuster, das auf den Namen des
- öffentlichen Schirms, auf dem das Fenster geöffnet ist, angewandt wird.
- Falls dieses Argument weggelassen wird, passen alle Fenster, auch
- diejenigen, die auf einem nicht-öffentlichen Schirm geöffnet sind.
- Andernfalls passen nur Fenster, die sich auf einem öffentlichen Schirm mit
- einem passenden Namen befinden.
-
-
- Alle Namensmuster-Argumente erwarten gültige AmigaDos-Namensmuster wie z.B.
- "CygnusEdScreen?", "#?workbench( |%)#?", etc. Es gibt jedoch ein
- spezielles Namensmuster, ein sogenanntes 'Magic': "!"
- Es hat für die verschiedenen Argumente folgende Bedeutung:
- -wird es für das WINDOWNAME=WPAT-Argument angegeben, paßt nur das gerade
- aktive Fenster.
- -wird es für das TASKNAME=TPAT-Argument angegeben, passen nur Fenster,
- die den selben Eigner-Task haben wie das aktuelle Fenster.
- -wird es für das SCREENNAME=SPAT-Argument angegeben, passen nur Fenster,
- die auf dem aktiven Schirm geöffnet sind.
- -wird es für das PUBSCREENNAME=PSPAT-Argument angegeben, passen nur
- Fenster, die auf dem standardmäßigen öffentlichen Schirm geöffnet sind.
-
-
- Falls der CASE/S-Schalter spezifiziert wird, so wird bei der Suche nach
- passenden Namen auf Groß-/Kleinschreibung unterschieden, ansonsten werden
- Klein- und Großbuchstaben als gleich betrachtet.
-
-
- Ein Fenster paßt nur dann, wenn ALLE VIER Filter-Kennzeichen passen. Die
- Suche nach passenden Fenstern beginnt dabei beim auf das aktive Fenster
- folgenden Fenster. Dadurch wird einfaches BLÄTTERN durch eine ganze Reihe
- von Fenstern, auf die die Filter-Charakteristika passen, ermöglicht.
-
- Der TOFRONT/S-Schalter bewirkt, daß das passende Fenster nicht nur
- aktiviert wird, sondern auch gleichzeitig nach vorne gebracht wird.
-
-
- Falls SetActiveWin kein passendes Fenster finden kann, gibt es den
- Rückgabewert 5 (WARN) zurück, ansonsten, falls es ein passendes Fenster
- finden konnte, den Rückgabewert 0 (OK).
-
-
- SetActiveWin wurde speziell für die Verwendung innerhalb von AngieSequenzen
- des legendären ANGIE - Another Great Intuition Enhancer - Commodities
- entwickelt, kann aber gleichfalls auch in Stapelbearbeitungsdateien oder
- ARexx-Skripten verwendet werden.
-
- Für seine Anwendung innerhalb von Angie sollten sie SetActiveWin resident
- machen (SetActiveWin IST reentrant, pure), und es dann innerhalb von
- SyncDosSequenzen etwa wie folgt einsetzen:
-
- Falls Sie die AngieSequenz
- '{SetActiveWin tpat "IntuiNews#?" tofront}(HuntWindow)' auf die
- Funktionstaste F10 legen, können sie beispielsweise mit dieser
- Funktionstaste durch ihre IntuiNews-Fenster blättern.
-
-
- Wenn Sie durch einen Tastendruck auf ihre mittlere Maustaste durch alle
- Fenster Ihrer gerade aktiven Anwendung blättern wollen, so sollten Sie
- die AngieSequenz '{SetActiveWin tpat ! tofront}(HuntWindow)' auf
- den HotKey 'rawmouse midbutton mouse_middlepress' legen.
-
- Indem Sie die AngieSequenz
- '{setactivewin "(Workbench|%)" tpat Workbench pspat Workbench case}
- (HuntWindow)'
- auf den Hotkey 'rawmouse alt rbutton mouse_rightpress' legen, erreichen
- Sie, daß ein Maus-Klick auf die rechte Maustaste bei gedrückter linker
- Alt-Taste das Basisfenster Ihrer Workbench öffnet, und es jagt.
-
- Sie können aber auch z.B. die AngieSequenz
- '{setactivewin "SuperDuper#?by#?S#?Vigna#?" tofront}(HuntWindow)'
- auf den Hotkey 'diskinserted' legen, was den Erfolg hat, daß, jedesmal,
- wenn Sie eine Diskette einlegen, und Sie das affenstarke Kopierprogramm
- Superduper von Disk-Wizard Sebastiano Vigna gestartet haben,
- das SuperDuper-Hauptfenster aktiviert, nach vorne gebracht und gejagt wird.
-
-
- Sie sehen, die Möglichkeiten sind wirklich nahezu unbegrenzt!
-
- Sie können aber noch einiges mehr:
-
- Legen Sie ganz einfach folgende Angie-Sequenz auf einen Hotkey (ersetzen
- Sie die <control-j>-Ausdrücke durch einen Tastendruck auf die j-Taste bei
- gedrückter CTRL-Taste):
-
- '[SetActiveWin wpat IconEdit#? tpat #?IconEdit tofront<control-j>
- if warn<control-j>
- run <nil: >nil: sys:tools/IconEdit<control-j>
- wait 2<control-j>
- endif<control-j>
- rawinsert d "<lcommand help>"]'
-
- Falls Sie nun den Hotkey betätigen, aktiviert Angie, falls der
- Piktogramm-Editor IconEdit gestartet ist, dessen Fenster, bringt es nach
- vorne, andernfalls startet Angie ganz einfach das IconEdit-Programm neu.
- Schließlich wird noch durch das rawinsert-Utility (ebenfalls von mir;-))
- ein Tastendruck auf die Help-Taste mit gedrückter linker Amiga-Taste
- simuliert, was, falls in Angie die AngieSequenz '(HuntWindow)' auf
- diese Taste gelegt wurde, eine Fenster-Jagen-Aktion auslöst.
-
- In diesem Beispiel wird SetActiveWin übrigens innerhalb einer
- ASyncDosSequenz!! verwendet, da die Ausführung dieser AngieSequenz länger
- dauern kann, und ansonsen Angie während der Ausführung der gesamten
- AngieSequenz blockiert wäre!
-
-
-
-
- Evolution von SetActiveWin
- --------------------------
-
- v1.0 21.11.93 [fSchwarz]
-
- v1.1 22.11.93 [fSchwarz] fixed deadlock problem that was
- due to holding concurrent locks on both, IBase & the
- PubScreenList (PubScreenList fields are now copied)
-
- v1.2 30.11.93 [fSchwarz] fixed bug that kept all windows
- on non-public screens from being activated
-
-
- Schlußbemerkungen
- -----------------
-
-
- SetActiveWin ist Freeware, i.e., es ist frei kopierbar, das Urheberrecht
- liegt aber weiterhin beim Autor. Eine Haftung des Autors für Schäden, die
- unmittelbar oder mittelbar von dem Gebrauch von SetActiveWin herrühren, ist
- definitiv ausgeschlossen. Die Verwendung von SetActiveWin erfolgt auf Ihr
- eigenes Risiko. In angelsächsischem Jargon wird dies gemeinhin als 'Use At
- Your Own Risk' bezeichnet.
-
-
- SetActiveWin geschrieben und urheberrechtlich geschützt, © 1993 by
- Franz Schwarz, Mühlenstraße 2, D-78591 Durchhausen, Germany.
- uucp: Franz_Schwarz@mil.ka.sub.org; Fido Classic: 2:2476/506.18
-
-
- Anregungen, Kritik, Flames, Geld, Gold, Disketten, Bier, Schokolade, nette
- Postkarten, e-mails, etc. sind jederzeit herzlich willkommen!;-)
-
-
- Bye
- Franz 'Blacky' Schwarz
-
- ... und vergessen Sie nicht:
- SetActiveWin - aktiviert genau das Fenster, das Sie wollen
-
-
- - Girlfriend Is Better - Talking Heads -
-
-
-