

         ______________________________________________________


                               WindowMan
                               _________


                            Enlarged desktop
                           and window manager


                              version 1.08
                            Chris Bell, 1999

         ______________________________________________________




Summary

If you have a large number of windows open at the same time then
your Desktop can become very cluttered and even a 21" monitor doesn't
seem to be large enough.  And a lot of time can be wasted looking for
windows which have got lost behind other ones.

WindowMan can help in 2 ways...

 It allows you to search for, and retrieve, individual windows more
  quickly, even when they have become completely hidden.

 It provides you with extra desktop space.  You can distribute your
  windows over several different screens and view just a few of them at
  a time.

WindowMan installs itself on the iconbar next to the Display Manager or
Palette Utility and it can be configured to suit your own requirements.

Although it has been designed to be as intuitive as possible, some of
its finer points may be missed unless you have read through this manual. 
Acorn's Interactive Help is supported, and help is also available from
the iconbar menu.


Inspiration

WindowMan was originally inspired by the inability to connect 2
different monitors to an Acorn computer, like you can to a Mac, and by
the perceived shortcomings and complications of other RiscOS virtual
desktops.

I find WindowMan particularly useful when preparing my annual set of
accounts, when I need to have 25 spreadsheet pages open at the same
time.  I open them all together in the Primary Screen and work on just
one at a time in the Secondary Screen, fetching and sending them back as
needed.



________________________________________________________________________

                             Computer Setup
________________________________________________________________________


WindowMan requires a minimum of RiscOS 3.10 and a hard disc-drive.

Your computer must be configured to allow windows to move beyond the
edge of the screen in all four directions.  This may be set by selecting
both 'Allow windows off-screen' options from the 'Windows' section of
the standard RISC OS 'Configuration' application.

You will be warned if your configuration prevents any WindowMan feature
from working properly.



________________________________________________________________________

                              Fundamentals
________________________________________________________________________


Window Manager

Most of WindowMan's features can be accessed from the Window Manager,
which is opened by clicking on the iconbar icon with SELECT or ADJUST. 
Its various options are explained in more detail below.


Current Screen

The Current Screen, which you are looking at now, is just a window onto
a much larger Desktop.  This comprises an array of individual screens
stretching up, down, left and right...

                :            :            :            :
              
                :            :            :            :
                :            :            :            :
                :            :            :            :
                :            :            :            :
              
                :            |            |            :
                :            |  Current   |            :
                :            |  Screen    |            :
                :            |            |            :
              
                :            :            :            :
                :            :            :            :
                :            :            :            :
                :            :            :            :
              
                :            :            :            :


Primary, Secondary and Tertiary Screens

The original single Desktop screen is called the 'Primary Screen'.  You
may set another two as your 'Secondary' and 'Tertiary' Screens and can
then switch between them whenever you like.


Moving windows

Windows can be moved between screens and can even straddle the
boundaries between them.  They are deemed to be in the Current Screen if
their top lefthand corners are visible.


Iconbar icon

The icon contains the coordinates - 'horizontal, vertical' - of the
Current Screen relative to the Primary Screen (which has coordinates
'0,0').  When you move to the Secondary and Tertiary Screens, the
coordinates are displayed in red and green respectively.

The grid pattern on the icon indicates where the Primary Screen is
relative to the Current Screen.  The Primary Screen is shown with a bold
outline and other screens have dotted outlines.


Iconbar menu

Clicking on the icon with MENU opens a menu from which the 'Window
Manager', 'Choices' and 'Help' windows can be opened.

Selecting 'Quit' first restores all windows to the Primary Screen, as if
'Restore to Primary' had been selected from the Window Manager.  (Note
that windows are also restored when you quit from the Task Manager, but
NOT when using 'Alt-Break'.)



________________________________________________________________________

                           The Window Manager
________________________________________________________________________


The Window Manager is normally opened by clicking on the icon with
SELECT or ADJUST and most of WindowMan's actions can be accessed from it
directly.  Unlike other windows, it always remains in the Current Screen
and will follow you if you move to a different screen.  All buttons take
effect immediately.

If 'Select closes Window Manager' has been selected from 'Choices' then
using the SELECT button on any option will close the Window Manager.
ADJUST always keeps it open.


Current Screen

   Clicking on 'Primary', 'Secondary', or 'Tertiary' will switch to
   those screens.

   'Fix current' fixes the Current Screen and disables all screen
   switching and scrolling, although you can still move windows to and
   from other screens.

   'Iconbar' toggles the iconbar from the bottom to the top and back
   again, in the same manner as pressing SHIFT-F12.

The other 4 buttons move windows within the Current Screen.  However if
a window's top lefthand corner isn't visible, then it isn't deemed to be
in the Current Screen and won't be affected.

   'Top to btm' and 'Btm to top' move windows to the bottom and top, as
   if you had clicked on their back icons or titlebars, further clicks
   fetching further windows in turn.  This is useful for retrieving
   covered windows.  Unless 'Select closes Window Manager' has been
   selected from 'Choices' (see below), clicking with ADJUST instead of
   SELECT swaps the effects of these two options.

   'Reverse' reverses the stacking order of the windows.  (Bottom to
   top, top to bottom, etc).  Use the next option to tidy them if
   necessary.

   'Tidy' moves every window, laying them out from the top lefthand
   corner of the screen so that every titlebar can be read.  The
   stacking order remains unaltered.  This is useful for locating
   covered windows.


Send windows

Windows can be sent from the Current Screen to the Primary, Secondary or
Tertiary Screens, placing them on top of any windows which were already
there.  Their positions will be the same as those they occupied in the
Current Screen.  If a window's top lefthand corner isn't visible, then
it isn't deemed to be in the Current Screen and it won't be affected by
these options.

   The 'Top' buttons will send the Current top window to the Primary,
   Secondary or Tertiary Screen.

   The 'All' buttons will send all Current windows to the Primary,
   Secondary or Tertiary Screen.

Pressing SHIFT at the same time as using these options will also switch
to the destination screen at the same time.


Fetch windows

Windows may be fetched from other screens and are placed on top of any
other windows in the Current Screen.  If they were already in the Current
Screen they are brought to the top.

Their positions will normally be the same as those they occupied in
their original Full Screens.  However if the 'Move fetched windows
on-screen' option has been selected from 'Choices' then any window which
would otherwise be partially off the screen is moved back in again.

   The 'Top' buttons will fetch the top window, if there is one, from the
   Primary, Secondary, Tertiary or all other screens.

   The 'All' buttons will fetch all windows, if there are any, from the
   Primary, Secondary, Tertiary or ALL other screens.

   The 'Btm' button will fetch the bottom window wherever it is.

   'Focus' will fetch the window with the input focus, if there is one. 
   (This is the one with a light yellow titlebar.)

   The 'Search' button opens a menu of all tasks which currently have
   windows open.  Selecting one of them will fetch every window that
   belongs to that particular task.  Individual windows can be fetched
   from the submenus which show the titles of all windows belonging
   to each task.


Restore all to Primary

This switches back to the Primary Screen.  Every window which was not
already there is fetched and 'tidied' into the bottom third of the
screen, on top of those that were.


Close

This closes the Window Manager window.



________________________________________________________________________

                           Iconbar shortcuts
________________________________________________________________________


The iconbar icon provides a shortcut to some of the Window Manager
functions and adds a few more.


Primary / Secondary / Tertiary switch

Pressing SHIFT while clicking in the centre of the icon switches
instantly between these three screens.  The SELECT button cycles in the
following order and ADJUST cycles in the opposite order:

   Primary  =>  Secondary  =>  Tertiary  =>  Primary  =>  etc.

If you are not already in one of these three screens, then SHIFT
clicking with either button will initially return you to the Primary
Screen.  This is useful for returning 'Home' quickly.


Scrolling into an adjacent screen

You may scroll into an adjacent screen by clicking on one of the borders
of the iconbar icon while pressing SHIFT and/or CTRL.  SELECT scrolls
into the adjacent screen and ADJUST scrolls in the opposite direction.

A 'Full Scroll' is achieved by pressing SHIFT while clicking on a
border.  Scrolling stops when you reach the outer edge of the Desktop.

An 'Extended Scroll' is achieved by pressing CTRL while clicking on a
border.  In this case, the next row or column will be started if you try
to move beyond the outer edge of the Desktop.  Thus every screen can be
displayed in quick succession by holding down this combination for more
than a second or so.

A 'Partial Scroll' is achieved by pressing both SHIFT and CTRL while
clicking on a border.  Instead of scrolling a whole screen at a time,
you will move by just a small amount and the offset screen boundaries
will become visible.  The position of the icon coordinates indicates
which Full Screen they actually refer to.


Switch and Fetch / Scroll and Fetch

Pressing an ALT key while switching screens, full scrolling or extended
scrolling from the icon also causes a window to be fetched to the new
screen.  The left ALT key fetches the overall bottom window and the
right ALT key fetches the current top window.

By repeatedly scrolling and fetching the bottom window (with the left
ALT key), you can place a series of windows on successive screens. 
These may then be viewed in the same order by just scrolling.



________________________________________________________________________

                            Mouse Scrolling
________________________________________________________________________


You can also setup WindowMan to scroll whenever you move the mouse
pointer to the edge of the Current Screen.

This facility is useful for dragging windows across screen boundaries
into other screens.  (However some windows are known to misbehave - if
one refuses to be dragged with SELECT, try ADJUST instead.  Or drag it
as far as you can, release it, and then pull it the rest of the way from
the next screen.)

The exact effect depends upon which option you select from the 'Choices'
window, which is opened from the iconbar menu, as follows:


Auto full

Moving the mouse pointer beyond the edge of the screen will cause Full
Scrolling.

You can override Full Scrolling by pressing the lefthand SHIFT and CTRL
keys, in which case Partial Scrolling will occur instead.


Auto part

Moving the mouse pointer near the edge of the screen will cause Partial
Scrolling - the closer the pointer is to the edge, the faster the
scroll.

You can override Partial Scrolling by pressing the righthand SHIFT and
CTRL keys, in which case Full Scrolling will occur instead.


Shift+Ctrl

Mouse Scrolling will only occur if SHIFT and CTRL are pressed.  The
lefthand keys cause Partial Scrolling and the righthand keys cause Full
Scrolling.


Disable

Mouse Scrolling is inhibited altogether.



________________________________________________________________________

                                Choices
________________________________________________________________________


The 'Choices' window is opened from the iconbar menu and allows you to
configure WindowMan to suit your own way of working.  


Restrict desktop

Use this option to restrict the overall size of your Desktop.  Click on
the arrows to alter the number of screens in each direction  -  the
total number of screens is shown in the window on the right.

If you deselect this option, WindowMan defaults to 5 screens in each
direction, giving a total of 121 screens.  You may also restrict your
desktop to just 1 screen (the Primary Screen) in which case scrolling is
disabled altogether.


Secondary screen / Tertiary screen

These options determine whether these named screens are available or
not.  If they are then their coordinates are shown and may be altered by
clicking on the arrows.  The Current Screen is automatically inserted
upon first selecting these options.


Move fetched windows on-screen

After selecting this option, any window that is fetched to the Current
Screen will be moved, if necessary, so as to be completely visible. 
(This option only affects windows which would otherwise be partially
off-screen.)


Select closes Window Manager

Choose this option to close the Window Manager whenever one of its
buttons is clicked with SELECT.  ADJUST will keep it open, just as with
menu entries.


Mouse scroll / Drag

Select one of these options to choose how to scroll with the mouse, as
described above under 'Mouse Scrolling'.


Exceptions...

This opens the Exceptions file for editing - see below.


Save choices / Cancel / OK

'OK' and 'Save choices' both implement your choices, the latter also
saving them as defaults for use in the future.  'Cancel' undoes any
changes you have made and redisplays the current configuration.

Clicking on these 3 buttons with SELECT closes the window  -  clicking
with ADJUST leaves it open.



________________________________________________________________________

                          The Exceptions file
________________________________________________________________________


Although WindowMan handles most windows correctly, certain applications
require their windows to be processed differently to others.  'Panes'
and 'hot key' windows, for example, don't always behave in the same way.

To cope with these variations, WindowMan has an 'Exceptions' file which
alters the way in which certain windows are processed.  Some exceptions
are already setup and you may add others if you find windows which
misbehave.

The Exceptions file is accessed by clicking on 'Exceptions...' in the
'Choices' window, from where it may be edited.  Further instructions are
given inside the file itself.

A certain amount of experimenting may be necessary to achieve the
desired results.  Most, but not all, windows can be persuaded to
cooperate with WindowMan.  A few known problems are noted in the file.



________________________________________________________________________

                       Hints for using WindowMan
________________________________________________________________________



Although WindowMan can handle up to 121 separate screens, it is unlikely
that you will want to use that many.  The 'Current Screen' options in
the Window Manager are still useful even if you restrict your Desktop to
just one screen and deselect both Secondary and Tertiary Screens.

You can set your Secondary and Tertiary Screens outside the area you can
scroll in if you wish.  And you can always return to the Primary Screen
from anywhere else with just one SHIFT click on the centre of the icon.

Windows can be hidden, if required, by placing them on a screen which is
then made unavailable by restricting your Desktop.

If you try to open a window which you have forgotten is already open on
another screen then nothing is likely to happen.  Use one of WindowMan's
facilities to find and fetch it or, if all else fails, use 'Restore to
Primary'.

Not all applications handle special windows, such as panes, in the same
way.  If you find that a particular window misbehaves then you can try
to tame it by editting the Exceptions file.

You can distribute a series of windows over a number of screens by
repeatedly scrolling and fetching the bottom window (by clicking on a
border of the iconbar icon whilst holding down CTRL and the left ALT
key).  They can then be viewed them in the same order by just scrolling
(without the ALT key).


Notes

1. Pinned icons and menus cannot be moved to other screens.  They always
appear in the Current Screen.

2. Windows remain in their correct screens when you change to a
different screen resolution (mode) but they are repositioned and/or
resized if they would otherwise spill over into an adjacent screen.

3. Disable Mouse Scrolling if you are not going to use it as it may slow
up your computer for other applications.

4. By default, only the first 30 tasks and windows are displayed in the
'Search' menus and they will indicate if there is more data that could
not be shown.  (This figure can be editted at the start of !RunImage if
you know what you're doing.)



________________________________________________________________________

                             Copyright, etc
________________________________________________________________________


          WindowMan:             Chris Bell,       1999
          Help text reader:      The Flying Pig!,  1992


Thanks are also due to Mark Summers for his Scroller application,
and to David Pilling and Andrew Booker for their constructive advice
during the development of WindowMan.

This software is placed in the public domain.  It may be freely
distributed, but only in its complete form, with all the accompanying
files and not for any material gain.  No claims are made for its fitness
for any particular purpose.


Feedback

I would be interested to hear of any suggestions you might have for
improvements to WindowMan, and of any additional entries that you make
in the Exceptions file.

Bug reports are also welcome - please supply as much detail as possible,
including a list of all the tasks running at the time of the problem,
your 'Choices' settings and any additions you have made to the
'Exceptions' file.



          Chris Bell
          Highpath Engineering
          Cornant, Cribyn, LLANBEDR PS, Ceredigion, SA48 7QW, UK

          email:  chrisbell@argonet.co.uk



08.04.1999



