Introduction
------------
Ever used a Macintosh with multiple monitors? If you have then you'll know
that by moving the mouse to the right hand side of the current screen will
make the pointer appear on the next monitor, and by positioning to the far
left will return the pointer to the first screen. Well, the Amiga supports
multiple screens and normally you would swap screens by clicking on the
screens depth gadget in the far top righthand corner. Some of you may use
the middle mouse button, or perhaps even a hotkey(s), but now it is even
easier.
Installation
------------
Even my mum could do it. Drag the executable and the icon into the WBStartup
drawer, and that's it. If you want to utilise the plug system found in the
later
versions, you will need to copy or create a drawer in which to store them. You
could alternatively keep them in the same directory as ScreenSwitch itself. See
the configuration section for more details.
Configuration
-------------
You don't really need to configure it, but there are some simple alterations
you can make, and these are set by tooltypes, and are as follows:
DELAY
This sets the delay between the pointer reaching a vertical border and the
actual screen change taking place. If the pointer is moved away from that
border within the time specified, the action is cancelled. The default is
25 ticks (about 1/2 a second). Do be warned about setting this too low, it
will make actually stopping on a screen very difficult :)
SENSITIVITY
This tooltype controls how wide the vertical borders are to be. The narrower
they are, the closer to the edge of the screen you have to be with the mouse
pointer. The default for this one is 3, which means anywhere inside a strip
of 3 pixels from the edge. A setting of 1 means you have to be as far over
as possible for the detection to take place.
CX_PRIORITY
This is a standard Amiga tooltype for all commodities, and controls the
priority that the commdity runs at. The default is zero, and should be
left at that setting.
PLUGIN (New V51.2)
This tooltype will let you specify a plugin to use. The path to this must
be a relative path to the ScreenSwitch base location. Specifying
plugins/example.plugin, will look in the ScreenSwitch directory for a
plugins drawer. You can keep plugins in the same directory as
ScreenSwitch if you so choose, and in which case you would simply
supply the plugin name in this tooltype. ScrenSwitch will then look in its
home directory for it.
VERTICAL (New in 51.6)
This tooltype, when set, will tell ScreenSwitch to activate on top and bottom
borders, as opposed to left and right. Simply adding Vertical to the icons
tooltypes is enough, there are no parameters needed.
Running
-------
Again, it is plain and simple, double click the icon and away it goes. The
purpose of this program is to create a seamless way of interacting with
multiple screens, so by placing the mousepointer over the left or right
extremes of the current screen will result in that screen becoming the most
backward on the layered heap of screens. This is the default action and will
most probably be altered via the plugin system. The Plugin system effectively
makes ScreenSwitch 'open ended' in as much as functionality can be
modified in any way the plugin sees fit. Check the documentation for your
chosen plugin for more information.
There isn't much more to say apart from the fact that this program supports
the Commodity event of 'KILL', so you can shut it off with Exchange. Also, as
in all standard Commodities, you can't run it twice, and you will be informed
if you try to do so. You can also Activate and Deactivate the monitoring of
the mouse position by using the relevant tab in Exchange, which will also
suspend/resume operation of any plugins in force.
Credits
-------
That'll be me I suppose, and my email address is above, unless you want to
flame me for this creation. In which case all mails to >NIL: please :)
Various credits are due to enhancement and bug reporting, and these are
outlined in the revision history at the end of this document.
Plugin credits should be found in their specific documentation, and any
problems with those to the relevant author.
Simon Archer
(bml()blueyonder.co.uk)
ReleaseNotes
--------------
V 51
Internal release. Just ported to OS4 from the original Blitz Basic code
V51.1 (02.11.2004)
Cleaned up the code, and uploaded it to OS4Depot.
V51.2 (05.11.2004)
After much joking and creating extremely stupid ways to improve the
program, this version now offers a plugin system. The API is described
in the relevant docs in the SDK directory. Also complete with a working
example to build upon. My thanks (if that is the right word) goes to
all the silly sods that made me waste time with this, you know who you are :)
I'm now leaving it up to the masses to see what they create for this. What
started out as a very useful little program, has now escalated into a bloated
program capable of far more than it was ever intended for. Maybe I should
port it to MS Windows ? :)
V51.3 (06.11.2004)
An enhancement has been implemented which was requested by Nicolas
Mendosa and Dave Fisher, where they outlined the fact that leaving the mouse
pointer in the 'hot zone' would constantly keep switching screens. This has
been addressed now and will look for mouse movement between the screen
swaps. So pushing the pointer to the edge will switch the first screen, but it
will
NOT switch again until the mouse has been moved. In the interests of user
safety, and potential epileptic fits, we appologise for this unfortunate
clubbing
effect! (I just no-one asks for it back :)
V51.4 (08.11.2004)
Updated the SDK a little. Changed the available information in the plugin
startup
message now to include the tooltype values for DELAY and SENSITIVITY, plus
also you get the mouse X and Y values at the time the plugin was called.
Fixed the fact the include file was in the wrong drawer.
Fixed a calculation error which was affected by a SENSITIVITY value of 1.
V51.5 (09.11.2004)
Implemented another safety check in the plugin source in the SDK. The plugin
is now launched with the plugin parameter to bump the arg count to 2. This
tries to get around the user starting plugins from the CLI or Workbench.
Previously, plugins would wait for their startup message, and by running them
as stand-alone programs would mean they wait forever. The plugin now will
only execute its code if the argc value is 2, if not it will quit silently,
returning
a dos value of 20. Suggested by Nicolas Mendoza.
V51.6 (10.11.2004)
Thanks to Tony Asknes, an enhancement has been implemented that allows you
to have activation from top and bottom, rather than left and right. The top
border
has the same functionality as the left border for those plugins that use
screen
position, and the bottom border is the same as the right edge. You can set
this
functionality with the Vertical tooltype.
| |