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 Zrich 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