home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ARM Club 3
/
TheARMClub_PDCD3.iso
/
hensa
/
desktop
/
multidesk_1
/
!MultiDesk
/
!Help
next >
Wrap
Text File
|
1995-09-20
|
12KB
|
313 lines
MultiDesk 1.13 (9 Sep 1995)
----------------------------
Introduction
------------
MultiDesk provides a 'Virtual Desktop' - a desktop which is many times
larger than your normal computer display.
MultiDesk displays a map of the virtual desktop, which is updated in
real time. You can change the part of the virtual desktop that is
displayed on your monitor, and also drag windows (or groups of windows)
around the virtual desktop.
MultiDesk requires RISC OS 3.10 or later.
MultiDesk supports interactive help, so run !Help and !MultiDesk
together to find out how to use it.
Read on for a slightly fuller description.
What MultiDesk does
-------------------
When MultiDesk is run, it will install a multi-coloured icon on your
iconbar.
Clicking SELECT on this iconbar icon (or choosing 'Open Window' from the
iconbar menu) will open MultiDesk's main window. This shows a
scaled-down version of the virtual desktop, displaying all the windows
that are currently open.
Each window is represented as a coloured rectangle, with as much of the
window's title displayed as possible.
You can drag the windows around inside MultiDesk's main window with
SELECT or ADJUST. When this is done, the corresponding 'real' window
will also move around the screen/virtual desktop. When you drag/resize
real windows, the corresponding rectangle in MultiDesk's main window
will change accordingly.
Holding down ALT while dragging will move windows in screensize steps.
This is useful when you want to preserve a windows position within a
screen-size area.
If you click/drag on a window with SELECT, it will come to the top of
the window stack. If you use ADJUST, the window will stay at the same
position in the window stack.
If you start dragging a window with <Shift> down, all windows owned by
the same application will also be dragged.
If you start dragging a window with <Ctrl> down, all windows in the same
area of the virtual desktop (ie. the same screen-size rectangle) will
also be dragged.
If you change screen-mode while MultiDesk is running, all windows will
be moved so that they are in approximately the same 'screen' area of the
virtual desktop. This means that if you change (for example) to Mode 0
and then back again, all your windows will be in (approximately) the
same position as before.
Moving around the Virtual Desktop
---------------------------------
MultiDesk's main window is divided into rectangles. These correspond to
the physical size of your screen. The part of the virtual desktop that
is currently being displayed on your monitor is shown with a red border.
The iconbar icon has a small coloured rectangle for each screen-size
area in the virtual desktop, with a black circle showing which part of
the virtual desktop is being shown on your monitor (the area which is
outlined in red in MultiDesk's main window).
There are three ways of looking at a different part of the virtual
desktop:
1) double click inside MultiDesk's main window anywhere inside the
screen-sized area you want to move to. It is best to do this with
the Adjust button so that you don't inadvertently bring a window to
the top.
2) Click with ADJUST on one of the coloured squares on the iconbar
icon.
3) Hold down the Alt key and press a cursor key. This moves to the next
screen-sized area in the virtual desktop, either above, below, to
the left, or to the right of area currently visible.
NB, Note that Acorn don't like programs to respond to Alt-keypresses,
because Alt is supposed to be reserved for generating special
characters. To turn the key-detection off, change line 3 of the Basic
program !MultiDesk.MakeMod to be 'detect_hotkey% = FALSE'.
MultiDesk remembers which window in each screen-area had input focus the
last time the screen-area was displayed, and restores input focus to
this window when the view is moved back to the screen-area. This
facility can be turned off in the 'Choices' window - see below.
Iconbar menu
------------
This contains the usual Info and Quit items, plus the following:
'Help' loads this !Help file into your text-editor.
'Open Window' will open the main window which shows the virtual
desktop (clicking SELECT on the iconbar icon is easier
though).
'Recall windows' moves all windows to the part of the virtual desktop
which is currently visible.
(When you quit MultiDesk, all windows are automatically
recalled.)
'Choices...' Opens a dialogue box in which you can set various
options. See later on for more info.
The submenu of the 'Quit' menu item allows you to quit while leaving all
windows in their present position. Also, your display will move to the
top-left of the virtual desktop (otherwise even restarting MultiDesk
would not give access to windows above and to the left of the current
position - MultiDesk will start off assuming the visual area of the
desktop is at the top-left of the virtual desktop).
If you do this, there is no easy way of getting non-visible windows back
without running MultiDesk again. Also, if the directory which contains
!MultiDesk is open and not in the visible region of the virtual desktop,
you won't even be able to start MultiDesk; to help matters, type
'recallwindows' in a taskwindow to get all the windows back (this
command is set in the !Run file as an alias).
Other things
------------
Something to be aware of: if you have a directory-window open somewhere
on the virtual desktop, re-opening this directory will not move the
directory window to the visible screen, so you might have to search for
it elsewhere on the virtual desktop. If there is sufficient interest,
I'll look for a way of detecting re-opening of such windows and
moving them to the visible region.
While MultiDesk is running, windows can be dragged off the screen in all
directions, regardless of how you configure your machine with
!Configure.
MultiDesk attempts to display windows in its main window using the right
colour. However, a lot of windows don't actually have a colour (the
window's application draws in the background colour itself), and these
will be displayed as blue.
The title text in MultiDesk's main window is displayed with special
justification which tries to always show the leafname of titlebar
filenames.
Re-opening MultiDesk's main window (eg by clicking with SELECT on the
iconbar icon) always forces a re-scan of the window-stack.
If you set, in the Choices window, the scale to be very small,
MultiDesk's main window might show a bigger virtual desktop than it
should. This is because the main window's back/close/toggle icons mean
that it has a minimum size.
If you press Alt-cursorkey to move around the virtual desktop, you
Alt-cursor keypress will be sent to whatever window currently has input
focus, which can cause some programs to treat the Alt-cursor as a
conventional cursor key. MultiDesk will try to stop this happening, but
the keypress will only be acted on *after* you desktop has finished
redrawing in the new position within the virtual desktop. The code
which stops Alt-cursorkey's from reaching applications checks
whether the Alt key is down. Hence to avoid Alt-cursor presses being
treated as normal keypresses, you need to hold down the Alt key until
after the screen has stopped redrawing, so that the code which stops the
Alt-cursors knows that the keypress was used by MultiDesk to move around
the virtual desktop.
Options - the 'Choices' window
------------------------------
All options can be changed in the 'Choices' window - see the iconbar
menu. You can save options to disc (where they will be stored inside the
!MultiDesk application directory in the file 'Choices'), and they will
automatically be loaded the next time MultiDesk is run.
You can set the delay (in 100ths of a second) between checking for any
windows which have been opened but not dragged, and the delay (again in
100ths of a second) between re-scanning every window's titlebar, in case
they have changed.
When you move to a different part of the virtual desktop which contains
a window which previously held the input focus, MultiDesk will move the
input focus to this window. This can be turned off.
You can also set the font which MultiDesk uses in its display. If you
don't select 'Outline font', MultiDesk will use the system font scaled
to be as small as possible.
'Factory settings' are:
Virtual desktop width: 2
Virtual desktop height: 4
Display scale: 12 %
Window delay: 200 cs
Window title delay: 1000 cs
Auto input-focus: On
Text display: 8 point Trinity-medium
Things to do
------------
Have an option to emulate the !Configure option to only allow windows
off the screen downwards and to the right when they are being dragged
conventionally. This might be tricky - would have to allow windows off
the screen when they are being dragged by MultiDesk, for eg.
Make the iconbar icon show a smaller version of the main-window display.
How it works
------------
MultiDesk traps all calls to the SWIs Wimp_Open/Close/DeleteWindow, so
that it knows exactly what windows are open, and their position and
size.
Unfortunately, this doesn't detect menu-windows opening/closing, so
MultiDesk checks the whole window stack every 2 seconds to make sure it
is up to date. It also checks every window's titlebar every 10 seconds
(you can change these update times - see below). You can see the virtual
desktop display update in this manner when you open menus, for eg.
Note that MultiDesk will execute a *configure command when it is run to
allow windows to be moved off the screen. Your original setting is
restored when MultiDesk quits.
Other Stuff
-----------
MultiDesk uses DeskLib extensively. This has made it much easier to
write than would have been the case. Thanks to Jason Williams et al for
this freeware C library.
Thanks also to Domonic Symes for the Zap text editor, Martin Ebourne for
the C-code Zap mode, Dick Alstein for TemplEd, Mike Enderby for many
helpful comments and beta testing and to Clive Jones, Dick Alstein, Andy
Southgate and Andy Armstrong for help on intercepting Wimp_ SWIs. Thanks
also to Simon Proven for improvements to MultiDeskModule.
This program is freeware. It may NOT me used in connection with any
profit-making activities without my permission. Please contact me if you
want to distribute MultiDesk in a PD library.
MultiDesk is copyright Julian Smith 1994, 1995.
************************************************************************
* *
* If you find this program useful, you might like to make a donation *
* to Amnesty International, say £5, by sending me a cheque made out to *
* them. I shall send you new versions of MultiDesk as they become *
* available if you do this, and I'll also be more likely to add *
* features/bug fixes for you. *
* *
************************************************************************
Also, please let me know if you have any comments, problems, suggestions
or praise, or have found a bug.
- Julian Smith
-------------------------
julian.smith@psy.ox.ac.uk
-------------------------
or:
-------------------------------------
Department of Experimental Psychology
South Parks Road
Oxford
OX1 3UD
UK
-------------------------------------