home *** CD-ROM | disk | FTP | other *** search
- Mackie 1.4 release
-
- - Never #n keyword added; says to `never' to front this CLI. Useful if you want
- a CLI open for logging all the time (like I do) but don't ever want to select
- it (like I do.)
- - Select programs names from CLI command invocations *after* any colons or
- slashes, so things work with latest WShell.
-
- Mackie 1.3 release
-
- - Automatic generation of different patterns
- - `patterns' keyword removed
- - Spline bug removed
-
- Mackie 1.2 release
-
- - Selection of five screen blanking modes
- - New `patterns' keyword to select blanking mode
- - Changes screen blanking patterns every five minutes
-
- Mackie 1.13 release
-
- - Faster, machine language splines
- - Changes from splines->boxes->lines
-
- Mackie 1.12 release
-
- - Adds splines (compile with -DSPLINES)
- - Time of `0' disables screen blanking
-
- Mackie 1.11 release
-
- This release fixes a few bugs in the 1.1 alpha release.
-
- - Function keys work now.
- - Any spawned commands have a priority of 0, not 20.
- - The -f option works.
- - The .mackierc file is closed after it is read.
- - Some minor space improvements.
-
- Mackie 1.1 (beta release for 1.2) is now available. This revision has
- significantly greater functionality than the original Mackie, and I am
- releasing it in hopes of getting comments and improvements.
-
- To get the program, anonymous ftp it from labrea.stanford.edu (in ~pub)
- or send me mail; I'll send it to you by Email or physical mail (at least
- to the first 20 people who ask). You'll get both source and executable;
- comments on the source is greatly appreciated.
-
- Those of you who have used Lisp machines or TI Explorers will recognize
- how this works. I've added a `System' key to the Amiga, by taking over
- the help key. If I want to edit a file, I simply hit `Help' then `E'.
- If an editor already has a window open, it will be popped to front;
- otherwise, an editor will be spawned. Similarly, `Help' `V' will give
- me a VT100 window, whether one exists or not. If I want a new editor,
- regardless of ones that current exist, `Help' CTRL-E will give me one.
-
- Let's plunge right in, by examining my current startup file.
-
- *
- * Typical .mackierc file; set the default pop
- * command:
- *
- command "newwsh con:10/10/640/200/MackieCLI"
- ;
- ; and the timeout:
- ;
- timeout 200
- #
- # Now define some system keys
- #
- space cli "" "newwsh"
- t cli "tex*" "newwsh con:20/20/640/100/texwsh cmd tex"
- p intuition "preview*" "preview"
- e intuition "mg*" "mg"
- v intuition "vt100*" "run vt100"
- d intuition "dfc*" "dfc"
-
- w intuition ""
-
- So, all the POPCLI stuff is still in there. I'll address the system keys
- one by one.
-
- The line that starts with `space' means that whenever `Help' `Space' is
- pressed, the next CLI window that matches the empty string is brought
- to the front. The only CLI windows with a null command are the ones
- not executing a command, so this gives me a CLI ready for a command.
-
- The line that starts with `t' means that `Help' `t' will look for a CLI
- executing a command starting with the three characters `tex', and pop it
- to front. If one doesn't exist, one is started. Note that all string
- comparisons here are case insensitive, and that `*' means match all the
- rest of the characters.
-
- The syntax for the startup file is each line is an empty line, a comment,
- a parameter line, or a system key definition. Comment lines start with
- semicolons, hashes, or splats. Parameter lines start with `command',
- `timeout', `blank', or `lines'. Timeout must be folled by a number,
- and command must be followed by a string. Separators are tabs, spaces,
- equal signs, commas, or hyphens.
-
- System key definitions start with the key being defined. Allowable
- keys are A-Z or 0-9 (as themselves), F1 through F10 for the function
- keys, or Space for the space key. The keyword `Shift' can precede the
- key. After the key, an optional `CLI' or `Intuition' keyword can be
- placed. These will be described later.
-
- After the optional keyword, one or two strings should be found. The
- first string is the command to match; the second string (if given) is
- the command to execute if no matches are found. This command should
- return relatively quickly; if the program doesn't detach, then you want
- to precede the command with a `run' or `newcli' so it does.
-
- Strings are bracketed by double quotes; a backslash-double quote means
- a literal double quote.
-
- Any key that doesn't have a definition in the startup file gets a default
- definition; for the letter keys A-Z, the default definition is
-
- X "X*"
-
- for example, which means match any window starting with `X', be it a CLI
- or an Intuition window. The number keys match only the CLI with that
- particular number. The space key by default matches any window (so it just
- cycles all of the windows), and the function keys match nothing.
-
- Windows are not matched by their title; the title is often blank or used
- for error messages and the like. Instead, windows are matched by the
- name of the task associated with the window for Intuition windows, or the
- command being executed by the CLI in the case of CLI windows. Thus, the
- program doesn't work very well with programs that use strange task names.
- For instance, Manx db uses the name `Aztec_db', so you'd have to match
- that, rather than the intuitive `db'.
-
- There are three classes of programs. There are those programs that run
- from the workbench or detach themselves from a CLI; these programs have
- only an Intuition window associated with them. An example of this class
- is Manx `db'. There are those programs that interact only through the CLI
- windows; an example of these is `tex'. And finally, there are programs
- that run from a CLI but do their interaction through an Intuition window;
- an example of this is `vt100'.
-
- Only the third class offers any ambiguity; the question is whether to
- active the CLI window or the Intuition window. But the type of window is
- usually specified for the other kinds anyway, to help limit the search.
-
- If you give a search string such as `!xyzzy!' that isn't likely to be
- matched, then the command string is always executed, so you can bind
- arbitrary commands to a system key.
-
- Oh, yes; one important thing. Hitting `help' twice passes a help key
- on through the input stream, so you haven't lost your help key.
-
- The code will only compile with Manx.
-
- Usage is simply:
-
- run mackie [-q] [-l] [-b] [-f filename] [command] [time]
-
- Note that it doesn't automatically detach itself, so the `RUN' is
- necessary. The first time you run it, it loads itself into RAM.
- Subsequent invocations need not be `run', as they notice the running
- portion of the program and simply send new parameters to it.
-
- The options mean:
-
- -q Quit. Remove the resident portion from memory.
- -l Lines. Draw lines instead of a blank screen. (Default)
- -b Blank. Draw a blank screen instead of fancy lines.
- -f filename Startup file (default is s:.mackierc).
-
- A time is an argument that starts with a digit; this time is in seconds.
- After that much inactivity, the screen blanking starts.
-
- A command is an argument that starts with neither digits nor a hyphen.
- This is the command executed whenever left-amiga ESC is pressed.
-
- Thus, the command
-
- run mackie "newcli con:10/10/640/200/MackieCLI"
-
- starts mackie up, and sets the command to be executed to a NewCLI with a
- specified size. Later, if you want to see the screen blanking feature
- quickly, just type
-
- mackie 1
-
- and in a second, the screen will go blank. If the lines are driving you
- wild, you might type
-
- mackie -b
-
- to turn them off. Finally, you need every byte of memory, so you want to
- remove mackie. Simply type
-
- mackie -q
-
- That's all there is to it.
-
- Enjoy this program! Send bug reports to Tomas Rokicki, Box 2081,
- Stanford, CA 94309.
-
- Based on:
-
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
- /* |_o_o|\\ Copyright (c) 1986 The Software Distillery. All Rights Reserved */
- /* |. o.| || This program may not be distributed without the permission of */
- /* | . | || the authors. */
- /* | o | || Dave Baker Ed Burnette Jay Denebeim John Mainwaring */
- /* | . |// Gordon Keener Jack Rouse John Toebes Doug Walker */
- /* ====== BBS:(919)-471-6436 */
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
- POPCLI III by John Toebes © 1987 The Software Distillery. All Rights Reserved
- 235 Trillingham Ln, Cary, NC 27511
-
- Contributions to continue development of this and other fine products for the
- Amiga should be sent to the Software Distillery at the above address.
-
- Other Products produced by the Software Distillery are:
- BLINK - the Turbo-charged Alink replacement
- HACK - The Amiga port of the famous UNIX game
- LARN - Another famous UNIX game
- MEMWATCH - Protects your machine from random trashes
- MAKE - A software development tool one shouldn't be without
- KERMIT - The World renown file transfer protocol brought to the Amiga
- ICONEXEC, SETALTERNATE, SETWINDOW - Icon manipulation tools
- TSIZE - A short utility for determining directory sizes.
- All of these are available on our BBS.
-
- Permission is hereby granted to distribute this program provided both this
- documentation accompanies the executable and that no charge is made for its
- distribution.
-
- POPCLI (pronounced POP-SEE-EL-EYE) is designed to solve two problems at once.
- First it provides a simple way of starting another CLI at any time without
- having to load workbench or exit whatever program you may be using. Second
- it has a builtin screen saver mode that automatically turns off the Amiga
- display when there has been no input for a given period of time.
-