home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d5xx
/
d553
/
autocli.lha
/
AutoCLI
/
AutoCLI.Doc
< prev
next >
Wrap
Text File
|
1991-10-28
|
31KB
|
640 lines
AutoCLI V1.99n 17th Sep 1991 by Nic Wilson
------------------------------------------
Nic Wilson Software
138d South Street
TOOWOOMBA Queensland 4350
Australia
Phone (076) 358539 Home, Voice & Fax
(076) 358384 Work or Fax
(076) 358522 " " "
EMAIL {cbmvax|cbmehq}!cbmaus!wilson!nic@uunet.uu.net
AutoCLI is shareware. I have not disabled it in any way as
some programmers do. This is so you can get full benefit
immediately. If you use it then please send a small donation
and help me to bring more programs to the Amiga. Suggested
donation is $20.00 Australian.
This program is now fully tested an all Amiga models including
the A3000. Fully testing is also done with 'enforcer' a debugging
program that uses the MMU to look for and display invisible bugs.
I have found this program absolutely brilliant.
MMU stands for Memory Management Unit and is found as a seperate
chip on 68020's and labeled 68851 and is internal to a 68030.
Enforcer comes as one of the tools under V2.0 Developers disks,
and is also available in Fish Disk #474.
HISTORY (Changes, Bug fixes, Enhancements (Newest first))
---------------------------------------------------------
V1.99n Made a change to the -q3 mouse acceleration speed to allow
increasing acceleration linear to the amount the mouse is moved.
See -q switch for more info.
V1.99m Fixed two major bugs that crept in to the last version. Mouse
Acceleration was really crook and not accelerating in some
directions. This is now fixed, and secondly if the warning window
came up, it didn't matter whether you answered yes or no you got
yes! This is now fixed.
V1.99l Changed the screen blanking routine to include pretty spline
patterning with various options especially for Ken Simpson.
See 'OPTIONAL SECONDS', -lc[n], and -lfb for info on its usage.
Fixed a bug in the options window, in that if the screen
blanking time was changed, but 'RETURN' was not pressed within
the string gadget, then the time did not change.
Added an update function. Very simple to use, just launch
AutoCLI again with a new set of parameters and it will be
updated to reflect these switches. Note that all parameters
you want will be needed, as it currently completely updates.
In the next version I plan to change this to update what you
specify without altering other parameters.
V1.99k You asked for it!! and here it is, more function key scripts
Added another 10 function key scripts. See the -f option
for the information on how to add these extra keys.
Fixed a bug in the -n switch change added in V1.99i. If
the extra switch was used (-n1) it would mess up the rest
of the switches. This is now fixed.
Added a new function to the -n switch. A certain user without
mentioning any names (John Rowe), wanted to use the left/right
button click to screen shuffle but did not want the front screen
activated. This is now possible with -n2.
V1.99j Shell windows launched with Left Qualifier/ESC will now have
a close gadget on them if you are running V2.0 Workbench and
are using the default command string (IE. no command given).
See (OPTIONAL COMMAND) for more details. For users that
are using a custom newshell string, can also get this new
feature adding the option to end of the string as shown.
EG. NEWSHELL CON:0/0/640/200/MyShell/CLOSE
If Screen shuffle was turned off via option window, mouse
screen shuffle would still work. This is now fixed
Improved user friendliness of Warning Window.
V1.99i Added ability to choose if you want the new mouse screen
shuffle added in V1.99g. See the -n switch.
V1.99h Added the DoIO vector to the restart vector check that was
added in 1.99c as this vector is often modified by viruses.
V1.99g Fixed a slight bug that crept in. The options window could
open on the wrong screen if a custom screen was at the front.
Due to popular demand, added ability to use screen shuffle from
the mouse. If screen shuffle is enabled (-n) holding down the
left mouse button and clicking the right button will shuffle
the screens in the same way the qualifier and up/down cursor
keys do.
V1.99f Change to the screen blanking routine, this has been re-written
in a much better way. It is now fully compatible with all
resolution modes including all of the new V2.0 ones. The older
routine had problems especially with interlace screens. It
should now work fine in all modes.
V1.99e Fix for shell windows under some versions of 1.3 kickstart.
On some version the program would open CLI windows instead
of shell if used in default mode. This happened due to the
NEWCON search failing. This is now fixed
V1.99d Code optimisations managed to shrink code by over 1100 bytes.
V1.99c Added a permanent function, that constantly checks the restart
vectors that are normally modified by viruses. See WARNING
WINDOW. Great for trapping File Viruses as they launch.
V1.99b fix for possible bug in window shuffle, although I couldn't
make it fail myself, but I found a possible cause.
V1.99a Fix for mouse blanking under V1.3 kickstart, since we switched
to using V2.0 include files in our assembler. A label in the
CopInit structure had changed, giving the wrong offset for the
1.3 kickstart
V1.99 Added a new function by modifiying the -w slightly. This new
function is window to front simply by moving the mouse into
that window. This was done simply as a challenge given by
John E. Van der Brook, Cheyenne. WY United States of America.
V1.98 After V1.97 screen now activates when brought back to front.
NOTE: Dpaint for some reason will not re-activate, I do not
know why, anyone know the answer??
V1.97 Options window now pops Workbench to front and opens the
window on it. The front screen will be replaced when the
options window closes. This stops the problem on custom
screens bitmaps being destroyed or wierd size screens.
Sorry to all the NTSC users, I didn't realise that the
options window was opening 3 pixels over the 200 boundary.
This is now fixed and option window will open on NTSC screens.
1.96 Fixed an intermittent enforcer hit, sometimes when searching the
layers. Fixed the mouse blanking quirk of kickstart 1.3 when
auto activate was on.
Addition of mouse button swap function for left handed people.
1.95 Modifications and fixes due to enforcer hits.
V1.94 By fine tuning my macros, I knocked 700 bytes off the filesize.
V1.93 Re-write of the auto activation function (1.90) to correct problems.
V1.92 Added ability to change the AutoCLI task priority.
V1.91 New function added to mouse accelleration. It now has a choice
of three different speeds.
V1.90 Addition of new Auto activation option (-k). If a key is pressed
the window that the mouse is currently in, will be activated.
V1.88 Addition of new Lock Pointer option (-l or -lr). This function
allows you to freeze either vertical, horizontal or both mouse
movements. This is great for icon aligning or better control in
paint programs. How many times have you carefully placed the mouse
and had it move slightly when the button was clicked.
V1.85 Addition of options window that allows, changes to your options
without having to remove and relaunch. See main docs below for
instructions on its use.
KNOWN BUGS OR CONFLICTS
-----------------------
1. Problems have been encountered with non standard versions of the
'RUN' command. This command is called by dos.library's 'execute'
command. If you have problems with the Amiga crashing when a CLI
is popped up then make sure the 'run' command is standard. The one
I use came from an original 1.3.2 workbench and has a filesize of
2568 bytes. It is also recommended that ARP Library commands are
not used, as they have found to be source of many problems.
SUGGESTIONS
-----------
If AutoCLI does not have your favourite function, or you can think
of any improvements, then write and tell me. The very best suggestions
get a FREE copy of my commercial NoVirus program.
This program has been placed on the Public Domain for your enjoyment.
Permission is hereby given to distribute this program in any
way you see fit, as long as this doc file accompanies it.
Please send any bug reports or ideas to the address at the bottom
of this file. Commercial companies may also distribute the program.
I not only write commercial programs, but as you see we write
non-commercial too. If you like this program and you use it,
then help me by sending a donation to the address below.
NIC'S PROGRAM SUMMARY
---------------------
This program was written because of problems with the similar program I
had been using called 'popcli'. Popcli crashes if used under
WorkBench/KickStart 2.0, and if used on a PAL Amiga to open a CLI
window with a vertical size greater than 200 lines, it will not open if
your Amiga decides to start in NTSC mode. Popcli also seems to waste
CPU time when waiting and doesn't allow you to remove it from memory
without crashing or a reboot. AutoCLI overcomes all of the above problems
and has many added features equivalent to other programs around, but
uses much less CPU time. The biggest problem with all the others is that
they lose the Current directory, stack and path. AutoCLI retains all these
including the Current directory when the program was launched, it will
place you in this directory every time you open a CLI or Shell.
AutoCLI was written in 100% Assembler using Devpac Amiga V2.14.
FEATURES
--------
* Kickstart / Workbench 1.2, 1.3, 2.0 compatible
* Compatible with A500, A1000, A2000, A2500, A3000
* New Anti-Virus Event handler monitors your memory
* Default or custom CLI / Shell windows
* Default windows open to 1 pixel less than current screen
* Automatically checks and warns of restart vector changes
* 20 Function key scripts option
* Update completely once running
* Options window allows modification while running
* Active window to front or point to front options
* Screen & window shuffle option
* Screen blanking after time period option with spline patterning
* Mouse blanking on key press or time option
* Mouse acceleration and button swap options
* Auto Window activation on a key press and mouse position option.
* Function to swap mouse buttons for left handed users
* Selectable task priority
* No CPU time wastage
* 100% machine code
* Freely distributable
PROGRAM USAGE FOR INSTALLING AutoCLI
------------------------------------
AutoCLI [<optional switches>] [<optional seconds>] [<optional command>]
DO NOT USE RUN or RUNBACK as it will return the command
line and allow the window it was launched from to close, when an
ENDCLI command is given. Yet it still retains the directory it
was launched from and does not lose the current path or stack as
some programs do. This means that when a CLI is popped up it will
default to the directory that was current, when AutoCLI was launched.
The path and stack that was set, will still be valid.
The program is mainly designed to be used in your startup-sequence
so you will always have a CLI or Shell window available very easily.
AutoCLI MUST reside in your C: directory.
UPDATING AutoCLI ONCE ALREADY RUNNING
-------------------------------------
Some changes can be made via the options window, or you can launch
again from the CLI and supply a whole new set of parameters and it
will completely update itself.
OPTIONAL SWITCHES
-----------------
The following switches do not have to be given in any particular order,
but must all be before the optional seconds and command parameters.
All options default to OFF and must be enabled with a switch.
Any of these options can be modified after launch, by using the
Option Window provided. (see OPTIONS WINDOW below)
-f<r>[n] This switch enables function key trapping. When your qualifier
(see below) is held down and a function key pressed, the
program will execute a script file in the assigned S:
directory with a filename of autocli.f1 to autocli.f10.
This file must be a normal script (eg. startup-sequence).
The extra two switches <r> and [n] are for enabling an extra
10 keys giving a total of 20 function key scripts. The optional
'r' parameter forces the qualifier for these 10 to be the
right hand key of 'n'. The 'n' parameter tells AutoCLI which
key you want as the qualifier for these extra 10 function key
scripts. The choices are as shown below in the example.
Filenames for these extra 10 must be:- autocli.e1 to autocli.e10
These files as above must be in the assigned S: directory and
be a normal script files.
EXAMPLES
-frd Gives extra 10 and the qualifier is Right Amiga (SUGGESTED DEFAULT)
-fra Gives extra 10 and the qualifier is Right Alt
-frs Gives extra 10 and the qualifier is Right Shift
-fc Gives extra 10 and the qualifier is Control
-fd Gives extra 10 and the qualifier is Left Amiga
-fa Gives extra 10 and the qualifier is Left Alt
-fs Gives extra 10 and the qualifier is Left Shift
-f Gives only the first 10 (autocli.f1 - autocli.f10)
Please note that the extra qualifier MUST be different to the
normal qualifier key that you have chosen. If you select the
same then the AutoCLI will not work and display an error window.
*************************************************************
FILENAMES FOR FIRST 10 SCRIPTS:- autocli.f1 to autocli.f10
FILENAMES FOR EXTRA 10 SCRIPTS:- autocli.e1 to autocli.e10
*************************************************************
WINDOW TO FRONT
---------------
-w[n] This switch enables the window to front option. The optional
parameter (n) selects the action required to bring it to the
front. 0 = use keyboard, 1 = use mouse. To use keyboard (0)
select the window you want at the front by clicking the left
mouse inside the window and then hold your qualifier key
(see below) and press the Left ALT key.
To use mouse (1) simply place the mouse in the window you
want at the front and the window will immediately appear at
the front. Both can be temporary disabled via the option
window.
EG. for keyboard :- -w0 or -w
for mouse :- -w1
SCREEN SHUFFLE
--------------
-n[n] This switch enables the screen shuffle option. Two optional
parameters for 'n' are 1 or 2. 1 enables or disables the mouse
activated part of the screen shuffling. If you want the mouse
activation then you can either leave this parameter off (eg. -n)
or use (-n0). If you want to disable this feature in case of
conflictions with other programs such as DirectoryOpus then
use -n1. The second option is 2 which enables the mouse
activated part as -n does, but stops the front screen being
activated.
EG. for keyboard, mouse & screen activation -n or -n0
for keyboard only & screen activation -n1
for keyboard, mouse & no screen activation -n2
To use this function, hold down your qualifier key and use the
cursor up or down keys to rotate all screens in opposite
directions.
If you prefer you can hold down the left mouse button and
click the right button to shuffle the screens (if enabled).
Screen shuffle is different to the standard LEFT AMIGA N & M.
These standard keys only swap between the front and rear most
screens.
WINDOW SHUFFLE
--------------
-m This switch enables the window shuffle option. To use this
function, hold down your qualifier key and use the cursor
left or right keys. This will move the front most window to
the back or the back most window to the front respectively.
The window shuffle always occurs on the screen that is at
the front. This allows you to easily move between windows
and screens by using the qualifier and all the cursor keys
MOUSE ACCELERATION
------------------
-q[n] This switch enables mouse acceleration (-q). The optional
parameter (n) is a speed from 1 to 3. Speed 1 will multiply
all mouse movements by a factor of 2. Speed 2 will multiply
by a factor of 4, and speed 3 is a special case, it will
multiply by the amount the mouse actually moved, this mode
was preferred by a lot of users because it will give a small
acceleration if the mouse is moved a short distance, increasing
more and more the further and faster you move the mouse.
This function works in conjunction with mouse speed under
preferences, so this can also be changed to find the best
possible combination that you like.
If this second paramter is not given then it will default to
speed 1.
EG. For speed 2 the switch should be -q2
For default speed it should be -q
For automatic speed increase -q3
TASK PRIORITY (NOT RECOMMENED TO BE CHANGED)
------------- ------------------------------
-p[n] This switch allows you to change the priority of AutoCLI.
Without this switch it will default to 21. Valid values
for (n) are 0 - 21, bad values will cause the default value
to be used.
EG. For a priority of 0 the switch should be -p0
For a priority of 20 the switch should be -p20
NOTE
If the priority is changed from 21, some functions may not
work correctly. Use with caution.
AUTO WINDOW ACTIVATION
----------------------
-k This switch enables auto window activation. If enabled this
function will activate any window the mouse is currently in,
when a key is pressed. It will still work even if another
screen is at the front, and you have dragged it down and placed
the mouse over a window on the screen behind.
MOUSE MOVEMENT LOCKING
----------------------
-l or -lr This switch allows the mouse movements to be frozen in vertical,
horizontal or both directions. If the CONTROL key is depressed
the horizontal movements are frozen. If the LEFT ALT key is
pressed then the vertical movements are frozen. If both are
depressed then all movements are frozen. When either of these
keys are released then movements continue in that direction.
If these keys conflict with your chosen qualifier key (see
-s -c -a) then use the -lr switch instead, your keys with
then change to RIGHT SHIFT for horizontal and RIGHT ALT for
vertical.
MOUSE BLANKING
--------------
-b This switch enables mouse blanking. When any key is pressed
the mouse pointer will be immediately blanked, or if no mouse
movement is detected within 30 seconds the mouse pointer will
be blanked. As soon as the mouse is moved at all the pointer
will be returned immediately. This overcomes the annoying
habit of the pointer always being in the way while typing.
LEFTY MOUSE
-----------
-e This switch physically exchanges the left and right hand buttons
on the mouse. All programs that use the mouse correctly will
work. If the mouse is checked by hardware then the swap will
not occur. This switch is not available from the option window
as yet, maybe next version.
QUALIFIER KEY
-------------
-s -c -a The default qualifier key is the LEFT AMIGA but this can be
changed with a switch. The -s switch changes the qualifier
key to the SHIFT key. The -c switch changes it to the CONTROL
key, and the -a switch changes it to the ALT key. To use the
default key (LEFT AMIGA) then don't use any of these three
switches. Note that this qualifier key is also the same for
the autocli function as well.
-r The above qualifier is, by default, the key on the LEFT side
of the keyboard. To change this to the RIGHT side, use thi
switch.
SCREEN BLANKING SECONDS AND SPLINE PATTERNING OPTIONS
-----------------------------------------------------
OPTIONAL SECONDS
----------------
This is an optional time (in seconds) to blank the screen
when no user input is detected. The default is off, so if
blanking is not wanted then do not give a time at all. When
the screen has been blanked, it can be turned on again by
touching any key or moving the mouse. This number must be
after ALL of the switches including those below that are
used in conjunction with this. It has been left this way
to remain compatible with older versions.
-lc[n] This switch is used in conjunction with screen blanking,
See 'OPTIONAL SECONDS' and -lf below. This switch changes
the number of lines the spline patterning routine draws.
The 'n' parameter can have a value between 2 - 100 or 0. If
this switch is not given then a default value of 65 will be
used. If you do not want spline patterning, and prefer a
blank black screen when blanked the use 0 as the parameter
(EG. -lc0). To change the speed of the splines see the
-lf parameter. If a number too large is given for 'n' then
it will default to 100, similarly if a number too small is
given then it will default to 2.
-lfb This double switch is used in conjunction with screen blanking.
The switch has two parts the 'f' part and 'b' part. You may
use one or both of them.
If the 'f' part is given then the spline patterning will go
as fast as it will run on your Amiga. If the 'f' part is
not given it will be timed to go about the same speed on all
Amiga's and will be slower.
If the 'b' part is given then the blanking screen will be
2 bitplanes instead of 1. 2 bitplanes allows more colours
to be displayed on the spline screen at once. In 2 bitplane
mode the routine will use around 120K of chip memory, so
only select this mode if you have that amount free.
1 bitplane mode only allows a single colour to be used at
one time to draw the splines (although it will cycle to
different colours). This requires only half the amount
of chip memory and should work alright on all Amiga's, unless
your chip memory usage is very large.
If you have chosen 2 bitplanes and screen blanking doesn't
seem to work try removing the 'b' and try again.
Example: -lf - speed up splines and use 2 colours (1 + background)
-lb - slower splines and use 4 colours (3 + background)
-lfb - speed up splines and use 4 colours (3 + background)
USAGE DISPLAY
-------------
? If the only switch is a single question mark, then AutoCLI
will display a USAGE string on the current CLI window.
It will not install or remove itself.
REMOVING AutoCLI from the CLI
-----------------------------
remove This switch should be used on its own. It will signal
the current version of AutoCLI to shut down and remove
itself. Whenever it attempts this removal, a success
or failure message will be displayed on the CLI window.
To remove from Workbench, see OPTIONS WINDOW.
WARNING WINDOW
--------------
The event handler constantly checks the restart vectors against values
that were there when AutoCLI was first launched. These vectors are often
modified by viruses in order to survive a reboot. If this happens during
normal operation, (ie. file virus gets launched) then AutoCLI will open a
small warning window and ask you if you wish to replace them with their
original values or leave them. For example mounting RAD: will change
these vectors the first time is it accessed. You would answer NO to the
question, AutoCLI will then accept these changes as OK.
OPTIONS WINDOW
--------------
This function is always available, even if function key scripts (-f)
is turned off. It is accessed by holding the qualifier key and pressing
HELP. A window will open on the front most screen with gadgets set with
your current options.
Click on the gadgets to turn functions on or off. Screen blanking time
can be changed by clicking in the gadget and changing it accordingly.
If you turn screen blanking on, but give no time, then a default time
of 300 seconds will be set.
At the bottom of the window are two gadgets, 'OK' and 'REMOVE'. The
remove gadget will remove AutoCLI from memory completely. The ok gadget
will set the new options you have made.
OPTIONAL COMMAND (command run when 'Qualifer ESC' is pressed)
----------------
If no optional command is given then AutoCLI will use a default command.
This default command is, AutoCLI will launch and wait for your qualifier
key and ESCAPE to be pressed. When this event occurs AutoCLI will open
a CLI window 1 pixel less than the size of the WorkBench Screen at the
time it is opened. So if resolution mode is changed AutoCLI will notice
the change. If NEWCON: is available, a Shell window will open instead
of a CLI window and if running under V2.0 of Workbench, the window will
have a close gadget.
If an optional command is given, AutoCLI will execute that command
in preference to the default CLI/SHELL window when your qualifier key
and ESCAPE is pressed (see EXAMPLES). This allows custom commands or
custom size CLI/Shell windows to be used. Note that if AutoCLI is already
in memory it will update itself to to reflect all parmeters given.
EXAMPLES
--------
AutoCLI -frd -w -n -b -q2 -m -k -l -lfb -lc50 600
(opens a Shell window with automatic full size minus 1 pixel.
Enables 20 function keys with RIGHT AMIGA as the qualifier for the
second 10. Selects the LEFT AMIGA as your qualifier. Enables the
window to front option. Enables the screen shuffle option. Enables
the window shuffle option. Enables pointer lock. Enables auto window
activation. Enables mouse blanking. Enables mouse acceleration at
the second rate. Enables screen blanking after 10 mins of non use,
with 50 spline patterning lines, using 4 colours in fast mode.
AutoCLI -f -w0 -n -m -k -l -r -s 600 newshell newcon:0/10/640/150/MyShell
(opens a Shell window with a title of 'MyShell', enables function
keys, selects the RIGHT SHIFT as your qualifier, enables the window
to front option ,enables the screen shuffle option, enables the
window shuffle, enables pointer lock, enables auto activation,
and will blank the screen after 10 mins of non use).
AutoCLI -f -w0 -q2 YourProg
(runs a file called YourProg. When LEFT AMIGA/ESCAPE is pressed
enables function keys, window to front and will disable the screen
blanking (ie. no time given), and will accellerate the mouse by
a factor of 4.
AutoCLI remove
(attempts to remove the currently running version from memory
and displays a success or failure message).
REQUIREMENTS
------------
The following commands MUST be available in the current C: directory :-
run ; c directory (called by the DOS Execute function)
newcli ; c directory (called by AutoCLI if NEWCON not available)
newshell ; c directory (called by AutoCLI if NEWCON is available)
shell-seg ; l directory (needed if NEWCON: is mounted)
AutoCLI ; c directory or current directory when launched.
The following commands, devices, files are optional :-
cli-startup ; s directory (script executed by Newcli)
shell-startup ; s directory (script executed by NewShell)
NEWCON: ; (must be mounted to enable Shell instead of CLI)
AutoCLI.f1 ; s directory (script file for qualifier/F1)
AutoCLI.f2 ; s directory (script file for qualifier/F2)
...etc.
AutoCLI.e1 ; s directory (script file for 2nd qualifier/F1)
AutoCLI.e2 ; s directory (script file for 2nd qualifier/F2)
...etc.
NOTE: 'Amiga' is a Trademark of Commodore Amiga Inc.
The idea for Pointer Lock came from a program 'Tame Pointer' by JOHN ROWE,
a very close and talented friend of mine who has written some wonderful
programs for the Amiga in Lattice C.