NAME
     HideAway 1.1.4
     A small utilitiy to hide windows for MultiTOS

     Copyright (c) 1994 Bermuda Software Publishing
     Written by Bruno Essmann

DESCRIPTION
     Unfortunately there is a huge number of programmers that do not 
     support the new features of MultiTOS. One of those features is 
     the ionifification of windows and/or applications (and if you 
     are lucky enough to find an application that supports window 
     iconification it doesn't support application iconification most of 
     the times).

     Well, that's how it began. I was talking to collegue who claimed 
     the feature of an alternative multitasking system which enabled 
     him to hide whole applications was one of the reasons why he used 
     this other multitasking system instead of MultiTOS.
     I could not believe that MultiTOS could not be convinced to do it 
     too - and after all I am far too spoiled by MultiTOS to change the 
     system because of such a silly thing (or should I have deleted all 
     my Minix partitions because of it?).
     So I sat down took my c-compiler and wrote HideAway...

WHAT DOES HIDEAWAY DO
     HideAway is able to the windows of applications. If you have a 
     couple of applications running at the same time and are starting 
     to lose control of the window jungle, you may simply hide the 
     applications you don't need at the moment.

INSTALLATION
     Just drag HideAway to your desired position and start it there - 
     or if you want to install HideAway as a constant companion rename 
     it to hideaway.acc and drag it to the location where you have your 
     accessories stored. (Whenever copying HideAway don't forget to 
     copy the hideaway.rsc too - it isn't needed all the times, but if 
     you want to set some options it will be terribly missed by 
     HideAway...)

USAGE
     Using HideAway is fairly easy. When started (or if it was 
     installed as an accessory when selected) it opens the HideAway 
     window. This window is separated in two parts. On the left side is 
     a small toolbar and the rest of the window is used up by the 
     application list.

THE APPLICATION LIST
     The application list contains the names of all applications which 
     have windows opened. The active application (the one owning the 
     top window) will be displayed inverted (or white if you're running 
     in a color resolution). Hidden applications will be displayed 
     disabled (please note, they're only look disabled (to show that 
     they are hidden) they may still be selected).

     (New in version [1.1.0])
     Entries in the application list may be selected with the mouse. 
     Depending on what options you have set clicking on an application 
     in the list will hide (or show if already hidden) the application, 
     top it, or top it and hide all other applications.
     The action HideAway is going to execute on an application 
     selection may be changed in the options dialog (see OPTIONS).

     (New in version [1.1.2])
     It may happen that you would like HideAway to execute an action 
     other than the defined (e.g. your default action is 'hide/show 
     application' but you would like to top an application). To do this 
     press one of the special keys while selecting the application:

     SHIFT + Selection      => hide/show application
     CONTROL + Selection    => Top application
     ALTERNATE + Selection  => Top application, hide others

     In the example above you would simply have to hold down the 
     CONTROL-key while selection the application you'd like to top.

THE TOOLBAR
     The toolbar contains five icons which will execute the following 
     functions:

     THE TRIANGLE (BERMUDA SOFTWARE PUBLISHING LOGO)
       Displays the about dialog.
     THE TOOLSSYMBOL
       Opens the options dialog (see OPTIONS).
     THE WINDOW
       Hides all applications except the active. This is usefull if you 
       want to 'clean up your desk' if the only application you need at 
       the moment is the active.
     THE CROSSED WINDOW
       Hides the active application. This is usefull if you have 
       finished your work with the active application but you don't 
       want to quit it, since you might need it again later.
     THE THREE WINDOWS
       Shows all hidden applications. (This is usefull if you want to 
       have a quick look at good old times when you didn't know 
       HideAway ;-))

KEYBOARD EQUIVALENTS
     HideAway knows some keyboard equivalents which will simplify your 
     life a little bit:

     CONTROL+Q
       Quit HideAway.
     CONTROL+W, CONTROL+U
       Close the HideAway window (same as quit).
       Note! There is an official definition of Atari which says 
       CONTROL+W means close. There are however still some programmers 
       out there who did not grasp this and use CONTROL+U (and 
       CONTROL+W to cycle windows) instead. It is as always the user 
       who has to face the music because it's once like this and once 
       the other way around (eeck!). I'm lucky that HideAway uses only 
       one window, therefore both shortcuts work.
     CONTROL+E
       Edit options (I know this is a little bit dragged in, but 
       CONTROL+O is reserved because it normally means "open").
     CONTROL+S
       Save options (this is usefull if you have changed the position 
       and/or size of the window and you don't want to open the options 
       dialog).
     CONTROL+A
       Same as 'About HideAway...'.
     CONTROL+I oder HELP
       Shows some short help.
     UNDO
       Same as 'Show all applications'.

THE DIALOGS
     One word about the dialogs: All dialogs of HideAway are in 
     modal windows (i.e. if a dialog is open HideAway won't accept any 
     commands from you until the dialog is closed), as they should be 
     (and this is true for any application!). Things like keyboard 
     equivalents won't be described here since I think they're part of 
     the standard and have been described already a thousand times.

OPTIONS
     HideAway may be (as far as it makes sense) freely configured. The 
     options dialog may be reached by clicking on the toolssysmbol in 
     the boolbar and contains the following options:

     APPLICATION SELECTIONS...
       (New in version [1.1.0])
       Here you may selection the action HideAway is going to execute 
       if you click on an application in the application list:
       - 'Hide/show application'
         If the application selected is visible it will be hidden - if 
         it is hidden all the windows will be shown again.
       - 'Top application'
         The first window found which belongs to the selected 
         application will be topped.
       - 'Top application and hide others'
         The first window found which belongs to the selected 
         application will be topped. All other applications which have 
         windows opened will be hidden.

     HIDING APPLICATIONS...
       - 'Lower app priority to' (New in version [1.1.0])
         We're lucky to run one of those multitasking systems which 
         supports changing the process priority. If you hide an 
         application then you normally do it, because you don't need it 
         at the moment - is there any reason why it should use up the 
         same processortime as before?
         If you select the button 'Lower app priority to' you may 
         choose the lowered application in the popup on the right side.
         (The original priority will of course be restored when the 
         application is shoun again.)
         Two comments about the priority:
         1) If the priority of the process is already lower than the 
            one in the dialog (e.h. it is -20 and you have select 
            'lower to -5') the priority will still be changed to the 
            value in the dialog (I confess - I was too lazy to check 
            this too ;-)).
         2) If you have to ask yourself why sorting in your database 
            takes about twice as long when the database is hidden it 
            might very well be that the priority of your database is 
            buried in the deepest dungeon you'll find ;-).
       - 'Don't hide HideAway'
         Rumour has it it would be an advantage if the HideAway window 
         would not be hidden if one of the 'hide others' commands is 
         executed. If you think this might be true, there is no reason 
         not to check this button.

     GLOBAL OPTIONS...
       - 'Open window at startup'
         This option is only important when in accessory mode. If this 
         option is set HideAway will automatically open its window at 
         the last position saved. (I found out that my first action 
         after bootup was selecting HideAway and since I'm a lazy...)
       - 'Set HideAway priority to'
         HideAway is a simple Tool. As e.g. the desktop it doesn't 
         contribute to work directly. I see no reason therefore why it 
         should have the same priority as the main application. 
         HideAway fortunately is one of those tools that are smart 
         enough to know this (compared with lots of other tools) and 
         automatically lowers its priority. (Even though I like 
         HideAway it doesn't get more than priority -20 on my machine 
         ;-)). If you want HideAway not to change its priority enter 0 
         here.
       - 'Update applicationlist every'
         If the top window changes it is no problem for HideAway to 
         check its applicationlist. If however an application is 
         terminated which had windows in the background HideAway has no 
         chance to find out about it. It has to check all application 
         in its list to find out if one is gone - and that's excatly 
         what HideAway is doing. Here you may enter how often it may do 
         it. (I don't know if you ever close windows in the background 
         - I certainly do it often, so 1 second is fine enough for me, 
         but if your not closing windows in the background you may of 
         course set the update value a little bit higher.)
       - 'Check windows up to handle'
         This is the maximum number of windows which are recognized by 
         HideAway. Unfortunately there is no way to figure out the 
         number of windows which are currently open (see TECHNICAL 
         DETAILS). Since HideAway can't find this out by itself you 
         have to give it a little hint. You have to tell HideAway how 
         many windows there will be at maximum (theoretically it would 
         be possible to open up to 32'767 windows under MultiTOS and if 
         HideAway would check all those 32'767 windows it would use up 
         far to much power of your machine). Normally a limit of 50 
         windows is enough (I seldom have more than fifty windows open 
         ;-), if however you want to make shure HideAway is checking 
         enough windowslots you may also enter 100 here (this is the 
         default value).
         Note: It won't be a tragey if you open more windows than 
         HideAway is checking. The only thing which is going to happen 
         is that HideAway won't be able to hide application with 
         windows exceeding this number (it's that simple ;-)).

TECHNICAL DETAILS
     HideAway is - one wouldn't believe it a 'clean' application. It 
     doesn't use any undocumented tips and tricks (and that's exactly 
     why it works).

     There is (as far as I know) no way to get information about the 
     MultiTOS windowlist, but it is completely save to ask who the 
     owner of a window is (using wind_get(handle, WF_OWNER, ...);). If 
     the window doesn't exist an error is returned else HideAway knows 
     that the window exists and to whom it belongs. All HideAway has to 
     do now is check all the windowhandles, one by one. Since we don't 
     want to check all the possible 32'767 handles (yes - theoretically 
     it is possible, my small testprogram opened about 16'000 windows - 
     I have to admit it took a loong looong while, but it was worth the 
     fun) the max. number of handles checked may be entered in the 
     options dialog. I think 50 to 100 will suffice for most of the 
     users.

     If HideAway has to hide an application it simply checks the 
     windowlist and hides all the windows found by sending a WM_MOVED 
     message with a y-coordinate outside of the screen. The window is 
     not really hidden, but then again it's not visible anymore (the 
     alternative multitasking system mentioned above does it the same 
     way).

DISCLAIMER AND COPYRIGHT NOTICE
     This software is supplied as is. Bruno Essmann and Bermuda 
     Software Publishing hereby disclaim all warranties relating to 
     this software, whether express or implied, including without 
     limitation any implied warraties of merchantability or fitness for 
     a particular purpose. Bruno Essmann and Bermuda Software 
     Publishing will not be liable for any special, incidental, 
     consequential, indirect or similar damages due to loss of data or 
     any other reason, even if Bruno Essmann or Bermuda Software 
     Publishing have been advised of the possibility of such damages. 
     The person using the software bears all risk as to the quality and 
     performance of the software.

     Copyright (c) 1994, Bermuda Software Publishing.
     Permission is granted to make and distribute copies of this 
     software, provided this disclaimer and copyright notice are 
     preserved on all copies. The software may not, howeverm be sold or 
     distributed for profit, or included with other software which is 
     sold or distributed for profit, without the written permission of 
     the author.

     This is a freeware product. There is no shareware fee.

     This is not a commercial product. We cannot offer typical 
     commercial services of Bermuda Software Publishing such as 
     telephone support, mailing lists, or upgrade services.

     Users who do not have access to electronic sources of free and 
     shareware software may obtain a copy of this software by sending a 
     self-addressed stamped envelope and a 720K floppy disk to the 
     author at the address given at the end of this manual. People 
     outside Switzerland may send an international postal reply coupon 
     instead of swiss stamps (available form any post office). Please 
     use sturdy envelopes, preferably dardboard disk mailers.

CONTACT ADDRESS
     Bermuda Software Publishing
     attn Bruno Essmann
     P.O.Box 766
     CH-8024 Zrich

     If you have access to the Internet you may also reach me by 
     sending a mail to cjsputnik@satan.vmsmail.ethz.ch (You may also 
     reach my in the Fido-Net, but since I have problems polling 
     ATARIST it would be a good idea to post messages in ATARI.GER (I 
     don't want to write down my point number since it may change a few 
     times during the next weeks/months)).

END

