home *** CD-ROM | disk | FTP | other *** search
- MultiDesk 1.03 (29 Mar 1995)
- ----------------------------
-
-
- Introduction
- ------------
-
- MultiDesk provides a 'Virtual Desktop'.
-
- A virtual desktop is a desktop which is many times larger than your
- normal computer display. MultiDesk allows you to change the part of the
- virtual desktop that is actually displayed on your monitor, and also to
- drag windows (or groups of windows) around the virtual desktop.
-
- MultiDesk requires RISC OS 3.10 or later. It has been tested on
- RISC OS 3.10 and RISC OS 3.5. It should also work with no problems on
- RISC OS 3.11.
-
- 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.
-
- 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'.
-
-
-
- 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 as small as
- possible in the current mode (eg it is half-size in mode 31). Special
- justification is used 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 scrollbars and
- 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
- -------
-
- 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. 'Factory settings' are for a
- virtual desktop 2 screens wide and 4 screens high, display scale of 12%,
- and delays of 200cs and 1000cs.
-
-
-
-
- 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
-
-
- ------------------------
- julians@cogsci.ed.ac.uk
- ------------------------
-
- or:
-
- ------------------------
- Department of Psychology
- University of Edinburgh
- 7 George Square
- Edinburgh
- EH8 9JZ
- UK
- ------------------------
-