home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 100-199 / ff187.lzh / Mackie / README < prev    next >
Text File  |  1989-02-26  |  9KB  |  200 lines

  1. Mackie 1.1 (beta release for 1.2) is now available.  This revision has
  2. significantly greater functionality than the original Mackie, and I am
  3. releasing it in hopes of getting comments and improvements.
  4.  
  5. To get the program, anonymous ftp it from labrea.stanford.edu (in ~pub)
  6. or send me mail; I'll send it to you by Email or physical mail (at least
  7. to the first 20 people who ask).  You'll get both source and executable;
  8. comments on the source is greatly appreciated.
  9.  
  10. Those of you who have used Lisp machines or TI Explorers will recognize
  11. how this works.  I've added a `System' key to the Amiga, by taking over
  12. the help key.  If I want to edit a file, I simply hit `Help' then `E'.
  13. If an editor already has a window open, it will be popped to front;
  14. otherwise, an editor will be spawned.  Similarly, `Help' `V' will give
  15. me a VT100 window, whether one exists or not.  If I want a new editor,
  16. regardless of ones that current exist, `Help' CTRL-E will give me one.
  17.  
  18. Let's plunge right in, by examining my current startup file.
  19.  
  20. *
  21. *   Typical .mackierc file; set the default pop
  22. *   command:
  23. *
  24. command "newwsh con:10/10/640/200/MackieCLI"
  25. ;
  26. ;   and the timeout:
  27. ;
  28. timeout 200
  29. #
  30. #   Now define some system keys
  31. #
  32. space cli "" "newwsh"
  33. t cli "tex*" "newwsh con:20/20/640/100/texwsh cmd tex"
  34. p intuition "preview*" "preview"
  35. e intuition "mg*" "mg"
  36. v intuition "vt100*" "run vt100"
  37. d intuition "dfc*" "dfc"
  38.  
  39. w intuition ""
  40.  
  41. So, all the POPCLI stuff is still in there.  I'll address the system keys
  42. one by one.
  43.  
  44. The line that starts with `space' means that whenever `Help' `Space' is
  45. pressed, the next CLI window that matches the empty string is brought
  46. to the front.  The only CLI windows with a null command are the ones
  47. not executing a command, so this gives me a CLI ready for a command.
  48.  
  49. The line that starts with `t' means that `Help' `t' will look for a CLI
  50. executing a command starting with the three characters `tex', and pop it
  51. to front.  If one doesn't exist, one is started.  Note that all string
  52. comparisons here are case insensitive, and that `*' means match all the
  53. rest of the characters.
  54.  
  55. The syntax for the startup file is each line is an empty line, a comment,
  56. a parameter line, or a system key definition.  Comment lines start with
  57. semicolons, hashes, or splats.  Parameter lines start with `command',
  58. `timeout', `blank', or `lines'.  Timeout must be folled by a number,
  59. and command must be followed by a string.  Separators are tabs, spaces,
  60. equal signs, commas, or hyphens.
  61.  
  62. System key definitions start with the key being defined.  Allowable
  63. keys are A-Z or 0-9 (as themselves), F1 through F10 for the function
  64. keys, or Space for the space key.  The keyword `Shift' can precede the
  65. key.  After the key, an optional `CLI' or `Intuition' keyword can be
  66. placed.  These will be described later.
  67.  
  68. After the optional keyword, one or two strings should be found.  The
  69. first string is the command to match; the second string (if given) is
  70. the command to execute if no matches are found.  This command should
  71. return relatively quickly; if the program doesn't detach, then you want
  72. to precede the command with a `run' or `newcli' so it does.
  73.  
  74. Strings are bracketed by double quotes; a backslash-double quote means
  75. a literal double quote.
  76.  
  77. Any key that doesn't have a definition in the startup file gets a default
  78. definition; for the letter keys A-Z, the default definition is
  79.  
  80. X "X*"
  81.  
  82. for example, which means match any window starting with `X', be it a CLI
  83. or an Intuition window.  The number keys match only the CLI with that
  84. particular number.  The space key by default matches any window (so it just
  85. cycles all of the windows), and the function keys match nothing.
  86.  
  87. Windows are not matched by their title; the title is often blank or used
  88. for error messages and the like.  Instead, windows are matched by the
  89. name of the task associated with the window for Intuition windows, or the
  90. command being executed by the CLI in the case of CLI windows.  Thus, the
  91. program doesn't work very well with programs that use strange task names.
  92. For instance, Manx db uses the name `Aztec_db', so you'd have to match
  93. that, rather than the intuitive `db'.
  94.  
  95. There are three classes of programs.  There are those programs that run
  96. from the workbench or detach themselves from a CLI; these programs have
  97. only an Intuition window associated with them.  An example of this class
  98. is Manx `db'.  There are those programs that interact only through the CLI
  99. windows; an example of these is `tex'.  And finally, there are programs
  100. that run from a CLI but do their interaction through an Intuition window;
  101. an example of this is `vt100'.
  102.  
  103. Only the third class offers any ambiguity; the question is whether to
  104. active the CLI window or the Intuition window.  But the type of window is
  105. usually specified for the other kinds anyway, to help limit the search.
  106.  
  107. If you give a search string such as `!xyzzy!' that isn't likely to be
  108. matched, then the command string is always executed, so you can bind
  109. arbitrary commands to a system key.
  110.  
  111. Oh, yes; one important thing.  Hitting `help' twice passes a help key
  112. on through the input stream, so you haven't lost your help key.
  113.  
  114. The code will only compile with Manx.
  115.  
  116. Usage is simply:
  117.  
  118.    run mackie [-q] [-l] [-b] [-f filename] [command] [time]
  119.  
  120. Note that it doesn't automatically detach itself, so the `RUN' is
  121. necessary.  The first time you run it, it loads itself into RAM.
  122. Subsequent invocations need not be `run', as they notice the running
  123. portion of the program and simply send new parameters to it.
  124.  
  125. The options mean:
  126.  
  127.    -q             Quit.  Remove the resident portion from memory.
  128.    -l             Lines.  Draw lines instead of a blank screen.  (Default)
  129.    -b             Blank.  Draw a blank screen instead of fancy lines.
  130.    -f filename    Startup file (default is s:.mackierc).
  131.  
  132. A time is an argument that starts with a digit; this time is in seconds.
  133. After that much inactivity, the screen blanking starts.
  134.  
  135. A command is an argument that starts with neither digits nor a hyphen.
  136. This is the command executed whenever left-amiga ESC is pressed.
  137.  
  138. Thus, the command
  139.  
  140.    run mackie "newcli con:10/10/640/200/MackieCLI"
  141.  
  142. starts mackie up, and sets the command to be executed to a NewCLI with a
  143. specified size.  Later, if you want to see the screen blanking feature
  144. quickly, just type
  145.  
  146.    mackie 1
  147.  
  148. and in a second, the screen will go blank.  If the lines are driving you
  149. wild, you might type
  150.  
  151.    mackie -b
  152.  
  153. to turn them off.  Finally, you need every byte of memory, so you want to
  154. remove mackie.  Simply type
  155.  
  156.    mackie -q
  157.  
  158. That's all there is to it.
  159.  
  160. Enjoy this program!  Send bug reports to Tomas Rokicki, Box 2081,
  161. Stanford, CA  94309.
  162.  
  163. Based on:
  164.  
  165. /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  166. /* |_o_o|\\ Copyright (c) 1986 The Software Distillery.  All Rights Reserved */
  167. /* |. o.| || This program may not be distributed without the permission of   */
  168. /* | .  | || the authors.                                                    */
  169. /* | o  | ||    Dave Baker     Ed Burnette  Jay Denebeim John Mainwaring     */
  170. /* |  . |//     Gordon Keener  Jack Rouse   John Toebes  Doug Walker         */
  171. /* ======                    BBS:(919)-471-6436                              */ 
  172. /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  173.  
  174. POPCLI III by John Toebes © 1987 The Software Distillery.  All Rights Reserved
  175.  235 Trillingham Ln, Cary, NC 27511
  176.  
  177. Contributions to continue development of this and other fine products for the
  178. Amiga should be sent to the Software Distillery at the above address.
  179.  
  180. Other Products produced by the Software Distillery are:
  181.    BLINK    - the Turbo-charged Alink replacement
  182.    HACK     - The Amiga port of the famous UNIX game
  183.    LARN     - Another famous UNIX game
  184.    MEMWATCH - Protects your machine from random trashes
  185.    MAKE     - A software development tool one shouldn't be without
  186.    KERMIT   - The World renown file transfer protocol brought to the Amiga
  187.    ICONEXEC, SETALTERNATE, SETWINDOW - Icon manipulation tools
  188.    TSIZE    - A short utility for determining directory sizes.
  189. All of these are available on our BBS.
  190.  
  191. Permission is hereby granted to distribute this program provided both this
  192. documentation accompanies the executable and that no charge is made for its
  193. distribution.
  194.  
  195. POPCLI (pronounced POP-SEE-EL-EYE) is designed to solve two problems at once.
  196. First it provides a simple way of starting another CLI at any time without
  197. having to load workbench or exit whatever program you may be using.  Second
  198. it has a builtin screen saver mode that automatically turns off the Amiga
  199. display when there has been no input for a given period of time.
  200.