home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 3 / CDPDIII.bin / pd / commodities / windowshuffler / windowshuffle.doc < prev    next >
Text File  |  1992-10-07  |  11KB  |  281 lines

  1.  
  2.                             WindowShuffle
  3.  
  4.                              (Commodity)
  5.  
  6.                                   by
  7.  
  8.                             Stefan Sticht
  9.  
  10.          This program (binary), sourcecode, documentation is 
  11.  
  12.                             PUBLIC DOMAIN.
  13.  
  14.                      You may do anything with it!
  15.  
  16. Purpose of this commodity:
  17. --------------------------
  18. With  WindowShuffle  you  can map four functions to any keys:
  19.  
  20.             activate next  window
  21.             activate previous window
  22.             activate and bring next window to front
  23.             activate  and bring previous window to front
  24.  
  25. Now you can 'walk' through the windows on your screen.
  26. You  may  exclude  windows from being activated or brought to front by
  27. specifing  their  window  title  (wildcards  allowed).  Activating and
  28. bringing  to  front  of backdrop windows or of windows without a title
  29. can  be  disabled.   You  may not find it usefull to use WindowShuffle
  30. while   you   use  autopoint,  AutoActivate,  SUNMouse  or  any  other
  31. commodity, which activates the window under the mousepointer.
  32.  
  33.  
  34. Requirements:
  35. -------------
  36. This  commodity  requires  at least Kickstart 37.* and Workbench 37.*.
  37. Please check this out using About from the Workbench's Workbench menu.
  38.  
  39.  
  40. How to start a commodity:
  41. -------------------------
  42. First  there  are  two  basically different ways to start a commodity:
  43. via Workbench or via Shell.
  44.  
  45.     Starting  it  via Workbench is extrem simple:  just doubleclick on
  46. its  icon  and  the  commodity gets started.  Perhaps you might change
  47. some  parameters of the commodity.  You do this with tool types.  Tool
  48. types can be changed by clicking at the commodities icon and selecting
  49. Information from the Workbench's Icon menu.  In the window which opens
  50. you  see a listview gadget in which all tool types are listed.  Please
  51. refer  to  your  Workbench  documentation  on  how to change this tool
  52. types.  Which parameters you can change for this specific commodity is
  53. described below.
  54.     Please  note  that  another  double  click on the commodity's icon
  55. forces  the  commodity  to quit, if it's already running.  Running two
  56. copies  of  WindowShuffle  at the same time isn't useful and therefore
  57. possible.
  58.     To  start  a commodity via shell you type in its name.  If you get
  59. an  "Unknown  command  ???"  error  message,  you  have misspelled the
  60. commodity's  name  or the commodity isn't in your current directory or
  61. in the current search path.  The easiest way is to change your current
  62. directory  to the location of the commodity using the CD command.  You
  63. can  change  parameters  of  a commodity by command line options.  The
  64. available options are listed with ?  as the first parameter:
  65.  
  66.                            WindowShuffle ?
  67.  
  68. gives you a list of the command line options.  The explanation of each
  69. option is below.  Starting the commodity once more while it is already
  70. running forces the commodity to quit.
  71.  
  72.     If  you  want  the  commodity to be started at every boot-up, it's
  73. best to add this line to your User-Startup file:
  74.  
  75.                      <path>WindowShuffle <options>
  76.  
  77. Don't  forget  to  replace  <path>  by  the  path to the commodities's
  78. location  and <options> by the options you want to change. For example
  79. add this line if your commodity is located in the Tools drawer of your
  80. boot disk:
  81.  
  82.                          Tools/WindowShuffle
  83.  
  84.     Another way to start the commodity at every boot-up is to drag its
  85. icon  in  the  WBStartup drawer of your boot disk.  Then the commodity
  86. gets  started  as if you had double clicked on its icon.  But you have
  87. to  add the tool type DONOTWAIT to the icon.
  88.  
  89.  
  90. Using Exchange:
  91. ---------------
  92. Exchange is the commodities controller program. With Exchange you can
  93. control all commodities: you can kill, disable, enable, show and hide
  94. commodities.
  95.     Start  the  Exchange  program,  which  usually is in the Utilities
  96. drawer  of your boot disk, by double clicking its icon.  Now you see a
  97. list  of  the available commodities.  Select the commodity you want to
  98. control.   The  commodities title, description and status is shown now
  99. below the listview gadget.
  100.     You  can  kill  the  commodity  using  the  Kill gadget...  If the
  101. commodity  has  a  window  to  open,  in which you usually change some
  102. parameters,  you  can  open  this window using Show.  Hide closes this
  103. window. WindowShuffle has no window.
  104.  
  105.  
  106.                         Changeable parameters:
  107.                         ----------------------
  108.  
  109. CX_Priority:
  110. ------------
  111. You  can  specify the priority of the Commodity within the commodities
  112. queue  using the tool type or commandline option CX_PRIORITY=<number>,
  113. where  <number>  is  the  decimal  value  for  the  priority.  Default
  114. priority is 0.
  115.  
  116. NEXT_ACTIVE:
  117. ------------
  118. With  the tool type or commandline option NEXT_ACTIVE=<string> you can
  119. specify  the  key,  with  which  the  next  window  will be activated.
  120. <string>  is  an input description string as explained below.  Default
  121. is  "NEXT_ACTIVE=lcommand lshift k" (left amiga key & left shift key &
  122. k).
  123.  
  124. PREV_ACTIVE:
  125. ------------
  126. With  the tool type or commandline option PREV_ACTIVE=<string> you can
  127. specify  the  key,  with  which the previous window will be activated.
  128. <string>  is  an input description string as explained below.  Default
  129. is  "PREV_ACTIVE=lcommand lshift j" (left amiga key & left shift key &
  130. j).
  131.  
  132. NEXT_BOTH:
  133. ----------
  134. With  the  tool  type or commandline option NEXT_BOTH=<string> you can
  135. specify  the  key,  with  which  the next window will be activated and
  136. brought  in  front  of  all  other  windows.   <string>  is  an  input
  137. description string as explained below.  Default is "NEXT_BOTH=lcommand
  138. k" (left amiga key & k).
  139.  
  140. PREV_BOTH:
  141. ----------
  142. With  the  tool  type or commandline option PREV_BOTH=<string> you can
  143. specify  the key, with which the previous window will be activated and
  144. brought  in  front  of  all  other  windows.   <string>  is  an  input
  145. description string as explained below.  Default is "PREV_BOTH=lcommand
  146. j" (left amiga key & j).
  147.  
  148. BACKDROP:
  149. ---------
  150. With  the  tool  type  or  commandline  option BACKDROP=YES|NO you can
  151. specify wether backdrop windows (window which are always behind others
  152. and  which  can't  be  brought  to front) should be activated.  YES|NO
  153. means  you  may  either  use  YES or NO, but nothing else.  YES means,
  154. activate them, NO, don't activate.  Default is NO.  WindowShuffle will
  155. never try to bring backdrop windows to front.
  156.  
  157. NOWINTITLE:
  158. -----------
  159. With  the  tool  type  or commandline option NOWINTITLE=YES|NO you can
  160. specify,  wether  window  without  a  title should be activated and/or
  161. brought  to  front.   YES|NO  means  you may either use YES or NO, but
  162. nothing  else.   YES  means,  activate  and/or  bring  them  to front.
  163. Default is NO.
  164.  
  165. REFUSE:
  166. -------
  167. With  the  tool  type  or  commandline  option REFUSE=<string> you can
  168. specify  one  or more titles of windows, which should never be brought
  169. to  front  and  never  be activated.  <string> is an AmigaDOS wildcard
  170. string.   All  standard  AmigaDOS  wildcards are allowed like the ones
  171. allowed  by  for  example  "dir".  Just imagine window titles are file
  172. names.   Please consult your AmigaDOS manual for detailed description.
  173. Important:   upper  and  lower  characters  *are*  distinguished, they
  174. aren't the same!
  175.  
  176. Examples:
  177.  
  178. Don't  activate  the  following  titles:  "Workbench", "Clock" and all
  179. disk  windows  (note  that  all  disk windows have the keywords "full"
  180. "free" "use"):
  181.  
  182.               REFUSE=(Workbench|Clock|#?full#?free#?use)
  183.  
  184. If you *only* want to activate windows which name begins with "Shell":
  185.  
  186.                           REFUSE=~(Shell#?)
  187.  
  188. If you only don't want to bring the Workbench window to front (when
  189. in non backdrop mode):
  190.  
  191.                            REFUSE=Workbench
  192.  
  193.  
  194.                       Input description strings
  195.                       -------------------------
  196.  
  197. With  input  description  strings  you  can  specify  almost any input
  198. action,  for  example  the action lshift f1, which means that pressing
  199. the  left  shift  and  the  f1  key  together  is the action.  In this
  200. commodity  you  can specify the action to open the commodity's window,
  201. as described above.
  202.  
  203. Input description strings have the following template:
  204.  
  205.       [class] (([-]qual)|syn)* [[-]upstroke] [highmap|ANSIcode]
  206.  
  207. (* means zero or more occurances of the of the expression in brackets)
  208.  
  209. class   is one of the following strings:
  210.         rawkey, rawmouse, event, pointerpos, timer, newprefs,
  211.         diskremoved, diskinserted.
  212.         If not specified, the class is taken to be "rawkey".
  213.  
  214. qual    is one of the strings:
  215.         lshift, rshift, capslock, control, lalt, ralt, lcommand,
  216.         rcommand, numericpad, repeat, midbutton, rbutton, leftbutton,
  217.         relativemouse
  218.         A preceding '-' means that the value of the corresponding
  219.         qualifier is to be considered irrelevant.
  220.  
  221. syn     (synonym) is one of the strings: shift, caps, alt
  222.         shift means "left or right shift"
  223.         caps means "shift or capslock"
  224.         alt means "either alt key"
  225.  
  226. upstroke (literally "upstroke")
  227.         if this token is absent, only downstrokes are considered
  228.         for rawmouse (mousebuttons) and rawkey events.  If it is
  229.         present alone, only upstrokes count.  If it preceded by
  230.         '-' it means that both up and down strokes are included.
  231.  
  232. highmap one of the strings:
  233.         comma, space, backspace, tab, enter, return, esc, del, up,
  234.         down, right, left, help, f1, f2, f3, f4, f5, f6, f7, f8, f9,
  235.         f10, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, (, ), /, *, -, +
  236.  
  237. ansicode a single character token is interpreted as a character code,
  238.         which is looked up in the system default keymap.
  239.  
  240.  
  241. Some full examples:
  242. -------------------
  243.  
  244. The defaults (too show how you would specify them):
  245.  
  246. WindowShuffle CX_PRIORITY=0 "NEXT_ACTIVATE=lcommand lshift k"
  247. "PREV_ACTIVATE=lcommand lshift j" "NEXT_BOTH=lcommand k"
  248. "PREV_BOTH=lcommand j" BACKDROP=NO NOWINTITLE=NO
  249.  
  250. defaults + refuse title "Workbench":
  251.  
  252. WindowShuffle Refuse=Workbench
  253.  
  254. refuse also disk drawers:
  255.  
  256. WindowShuffle Refuse=(Workbench|#?full#?free#?use)
  257.  
  258. refuse all window which don't have a 'W' as their first character;
  259. use right amiga key (with right shift) and cursor down/up:
  260.  
  261. WindowShuffle "NEXT_ACTIVATE=rcommand rshift down"
  262. "PREV_ACTIVATE=rcommand rshift up" "NEXT_BOTH=rcommand down"
  263. "PREV_BOTH=rcommand up" REFUSE=~(W#?)
  264.  
  265.  
  266.    Send bug-reports, enhancement-requests, questions, gifts(!) to:
  267.    ---------------------------------------------------------------
  268.                             Stefan Sticht
  269.                           Bibereckerweg 40a
  270.                            D-8390 Passau 18
  271.                                  FRG
  272.  
  273. or (better) EMail to:
  274. sticht@edith.deg.sub.org
  275. Fido-Net: Stefan Sticht (2:246/200.4)
  276.  
  277. Please include the version number of the commodity in every bug report
  278. You get the version number using the Version command in the Shell:
  279.                      Version [<path>]<commodity>
  280.  
  281.