home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 2: PC / frozenfish_august_1995.bin / bbs / d09xx / d0964.lha / Angie / SetActiveWinUtil / SetActiveWin.dok < prev    next >
Text File  |  1993-11-30  |  8KB  |  197 lines

  1.  
  2.           ------------------------------------------------------
  3.           SetActiveWin 1.2 (30.11.93) ⌐ Franz Schwarz - Freeware
  4.           ------------------------------------------------------
  5.  
  6.                 Aktiviert genau das Fenster, das Sie wollen
  7.  
  8.                             Written & ⌐ 1993 by
  9.                                Franz Schwarz
  10.                               Mⁿhlenstra▀e 2
  11.                        D-78591 Durchhausen, Germany
  12.                     Uucp: Franz_Schwarz@mil.ka.sub.org
  13.                         Fido Classic: 2:2476/506.18
  14.  
  15.  
  16. SetActiveWin ist ein kleines Utility, das beliebige Fenster aktivieren
  17. kann, wobei eine Vielzahl von Eigenschaften angegeben werden kann, um
  18. das Fenster zu bestimmen.
  19.  
  20. Die Kommandozeilen-Argument-Schablone lautet:
  21.  
  22.     WINDOWNAME=WPAT,TASKNAME=TPAT,SCREENNAME=SPAT,PUBSCREENNAME=PSPAT,
  23.                              CASE/S,TOFRONT/S:
  24.  
  25. Alle in der ersten Zeile aufgefⁿhrten Argumente erwarten dabei die Angabe
  26. eines Filter-Namesmusters, anhand dessen SetActiveWin das zu aktivierende
  27. Fenster auswΣhlt.
  28.  
  29. WINDOWNAME=WPAT erwartet dabei das Filter-Namensmuster, das auf den
  30. Fensternamen angewandt wird.  Falls dieses Argument weggelassen wird,
  31. passen alle Fensternamen.
  32.  
  33. TASKNAME=TPAT erwartet das Namensmuster, das auf die Namen der Eigner-Tasks
  34. des Fensters angewandt wird.  Falls das Namensmuster nicht auf den Namen
  35. des Eigner-Tasks pa▀t, und der Eigner-Task ein Shell-Proze▀ darstellt, wird
  36. auch der Name des gerade von diesem Proze▀ ausgefⁿhrten Dos-Befehls auf
  37. ▄bereinstimmung mit dem angegebenen Namensmuster geprⁿft.  Falls dieses
  38. Argument weggelassen wird, passen alle Fenster, auch die ohne eingetragenen
  39. Eigner-Task.
  40.  
  41. SCREENNAME=SPAT erwartet das Namensmuster, das auf den STANDARDM─▀IGEN
  42. Namen des Schirms, auf dem sich das Fenster befindet, angewandt wird.
  43. Falls dieses Argument nicht angefⁿhrt wird, passen alle standardmΣ▀igen
  44. Schirm-Namen.
  45.  
  46. PUBSCREENNAME=PSPAT erwartet das Namensmuster, das auf den Namen des
  47. ÷ffentlichen Schirms, auf dem das Fenster ge÷ffnet ist, angewandt wird.
  48. Falls dieses Argument weggelassen wird, passen alle Fenster, auch
  49. diejenigen, die auf einem nicht-÷ffentlichen Schirm ge÷ffnet sind.
  50. Andernfalls passen nur Fenster, die sich auf einem ÷ffentlichen Schirm mit
  51. einem passenden Namen befinden.
  52.  
  53.  
  54. Alle Namensmuster-Argumente erwarten gⁿltige AmigaDos-Namensmuster wie z.B.
  55. "CygnusEdScreen?", "#?workbench( |%)#?", etc.  Es gibt jedoch ein
  56. spezielles Namensmuster, ein sogenanntes 'Magic': "!"
  57. Es hat fⁿr die verschiedenen Argumente folgende Bedeutung:
  58.   -wird es fⁿr das WINDOWNAME=WPAT-Argument angegeben, pa▀t nur das gerade
  59.    aktive Fenster.
  60.   -wird es fⁿr das TASKNAME=TPAT-Argument angegeben, passen nur Fenster,
  61.    die den selben Eigner-Task haben wie das aktuelle Fenster.
  62.   -wird es fⁿr das SCREENNAME=SPAT-Argument angegeben, passen nur Fenster,
  63.    die auf dem aktiven Schirm ge÷ffnet sind.
  64.   -wird es fⁿr das PUBSCREENNAME=PSPAT-Argument angegeben, passen nur
  65.    Fenster, die auf dem standardmΣ▀igen ÷ffentlichen Schirm ge÷ffnet sind.
  66.    
  67.    
  68. Falls der CASE/S-Schalter spezifiziert wird, so wird bei der Suche nach
  69. passenden Namen auf Gro▀-/Kleinschreibung unterschieden, ansonsten werden
  70. Klein- und Gro▀buchstaben als gleich betrachtet.
  71.  
  72.  
  73. Ein Fenster pa▀t nur dann, wenn ALLE VIER Filter-Kennzeichen passen.  Die
  74. Suche nach passenden Fenstern beginnt dabei beim auf das aktive Fenster
  75. folgenden Fenster.  Dadurch wird einfaches BL─TTERN durch eine ganze Reihe
  76. von Fenstern, auf die die Filter-Charakteristika passen, erm÷glicht.
  77.  
  78. Der TOFRONT/S-Schalter bewirkt, da▀ das passende Fenster nicht nur
  79. aktiviert wird, sondern auch gleichzeitig nach vorne gebracht wird.
  80.  
  81.  
  82. Falls SetActiveWin kein passendes Fenster finden kann, gibt es den
  83. Rⁿckgabewert 5 (WARN) zurⁿck, ansonsten, falls es ein passendes Fenster
  84. finden konnte, den Rⁿckgabewert 0 (OK).
  85.  
  86.  
  87. SetActiveWin wurde speziell fⁿr die Verwendung innerhalb von AngieSequenzen
  88. des legendΣren ANGIE - Another Great Intuition Enhancer - Commodities
  89. entwickelt, kann aber gleichfalls auch in Stapelbearbeitungsdateien oder
  90. ARexx-Skripten verwendet werden.
  91.  
  92. Fⁿr seine Anwendung innerhalb von Angie sollten sie SetActiveWin resident
  93. machen (SetActiveWin IST reentrant, pure), und es dann innerhalb von
  94. SyncDosSequenzen etwa wie folgt einsetzen:
  95.  
  96. Falls Sie die AngieSequenz 
  97. '{SetActiveWin tpat "IntuiNews#?" tofront}(HuntWindow)' auf die
  98. Funktionstaste F10 legen, k÷nnen sie beispielsweise mit dieser
  99. Funktionstaste durch ihre IntuiNews-Fenster blΣttern.
  100.  
  101.  
  102. Wenn Sie durch einen Tastendruck auf ihre mittlere Maustaste durch alle
  103. Fenster Ihrer gerade aktiven Anwendung blΣttern wollen, so sollten Sie
  104. die AngieSequenz '{SetActiveWin tpat ! tofront}(HuntWindow)' auf
  105. den HotKey 'rawmouse midbutton mouse_middlepress' legen.
  106.  
  107. Indem Sie die AngieSequenz 
  108. '{setactivewin "(Workbench|%)" tpat Workbench pspat Workbench case}
  109.  (HuntWindow)'
  110. auf den Hotkey 'rawmouse alt rbutton mouse_rightpress' legen, erreichen
  111. Sie, da▀ ein Maus-Klick auf die rechte Maustaste bei gedrⁿckter linker
  112. Alt-Taste das Basisfenster Ihrer Workbench ÷ffnet, und es jagt.
  113.  
  114. Sie k÷nnen aber auch z.B. die AngieSequenz
  115. '{setactivewin "SuperDuper#?by#?S#?Vigna#?" tofront}(HuntWindow)' 
  116. auf den Hotkey 'diskinserted' legen, was den Erfolg hat, da▀, jedesmal,
  117. wenn Sie eine Diskette einlegen, und Sie das affenstarke Kopierprogramm
  118. Superduper von Disk-Wizard Sebastiano Vigna gestartet haben, 
  119. das SuperDuper-Hauptfenster aktiviert, nach vorne gebracht und gejagt wird.
  120.  
  121.  
  122. Sie sehen, die M÷glichkeiten sind wirklich nahezu unbegrenzt!
  123.  
  124. Sie k÷nnen aber noch einiges mehr:
  125.  
  126. Legen Sie ganz einfach folgende Angie-Sequenz auf einen Hotkey (ersetzen
  127. Sie die <control-j>-Ausdrⁿcke durch einen Tastendruck auf die j-Taste bei
  128. gedrⁿckter CTRL-Taste):
  129.  
  130. '[SetActiveWin wpat IconEdit#? tpat #?IconEdit tofront<control-j>
  131.   if warn<control-j>
  132.   run <nil: >nil: sys:tools/IconEdit<control-j>
  133.   wait 2<control-j>
  134.   endif<control-j>
  135.   rawinsert d "<lcommand help>"]'
  136.  
  137. Falls Sie nun den Hotkey betΣtigen, aktiviert Angie, falls der
  138. Piktogramm-Editor IconEdit gestartet ist, dessen Fenster, bringt es nach
  139. vorne, andernfalls startet Angie ganz einfach das IconEdit-Programm neu.
  140. Schlie▀lich wird noch durch das rawinsert-Utility (ebenfalls von mir;-))
  141. ein Tastendruck auf die Help-Taste mit gedrⁿckter linker Amiga-Taste
  142. simuliert, was, falls in Angie die AngieSequenz '(HuntWindow)' auf
  143. diese Taste gelegt wurde, eine Fenster-Jagen-Aktion ausl÷st.
  144.  
  145. In diesem Beispiel wird SetActiveWin ⁿbrigens innerhalb einer
  146. ASyncDosSequenz!!  verwendet, da die Ausfⁿhrung dieser AngieSequenz lΣnger
  147. dauern kann, und ansonsen Angie wΣhrend der Ausfⁿhrung der gesamten
  148. AngieSequenz blockiert wΣre!
  149.  
  150.  
  151.  
  152.  
  153.                         Evolution von SetActiveWin
  154.                         --------------------------
  155.  
  156.   v1.0 21.11.93 [fSchwarz]
  157.  
  158.   v1.1 22.11.93 [fSchwarz] fixed deadlock problem that was
  159.     due to holding concurrent locks on both, IBase & the
  160.     PubScreenList (PubScreenList fields are now copied)
  161.  
  162.   v1.2 30.11.93 [fSchwarz] fixed bug that kept all windows
  163.     on non-public screens from being activated
  164.  
  165.  
  166.                              Schlu▀bemerkungen
  167.                              -----------------
  168.  
  169.  
  170. SetActiveWin ist Freeware, i.e., es ist frei kopierbar, das Urheberrecht
  171. liegt aber weiterhin beim Autor.  Eine Haftung des Autors fⁿr SchΣden, die
  172. unmittelbar oder mittelbar von dem Gebrauch von SetActiveWin herrⁿhren, ist
  173. definitiv ausgeschlossen.  Die Verwendung von SetActiveWin erfolgt auf Ihr
  174. eigenes Risiko.  In angelsΣchsischem Jargon wird dies gemeinhin als 'Use At
  175. Your Own Risk' bezeichnet.
  176.  
  177.  
  178.     SetActiveWin geschrieben und urheberrechtlich geschⁿtzt, ⌐ 1993 by 
  179.        Franz Schwarz, Mⁿhlenstra▀e 2, D-78591 Durchhausen, Germany.
  180.       uucp: Franz_Schwarz@mil.ka.sub.org; Fido Classic: 2:2476/506.18
  181.  
  182.  
  183. Anregungen, Kritik, Flames, Geld, Gold, Disketten, Bier, Schokolade, nette
  184. Postkarten, e-mails, etc. sind jederzeit herzlich willkommen!;-)
  185.  
  186.  
  187.     Bye
  188.       Franz 'Blacky' Schwarz
  189.  
  190.       ... und vergessen Sie nicht:      
  191.                 SetActiveWin - aktiviert genau das Fenster, das Sie wollen
  192.  
  193.  
  194.                - Girlfriend Is Better - Talking Heads -
  195.  
  196.  
  197.