Huntwindows V1.4 by Jörg Bublath ================================ COPYRIGHT: Huntwindows V1.4 is freely distributable. Huntwindows V1.4 is free to be spread on public-domain and shareware disks especially on Fred Fish's AmigaLibDisks, as long as they are sold for a reasonable charge that is less than US $6 or DM 8.- . For use in commercial products the permission of the author is required. Huntwindows V1.4 may be copied and distributed via electronic networks such as the Internet, also it may be moved on anonymous ftp-servers, mail-boxes or BBS's. The Copyright is still by the Author. You may use the source for your own non-commercial purposes, but you are not allowed to spread a changed version under the same name. If you think you have made a useful change contact me, so I may include it. REQUIREMENTS: Kickstart 2.0 or higher PREFACE: Coming with 2.0 you can make screens bigger than the visual size of your monitor. After I tried to catch windows like requesters etc. on my double-sized workbench, I got enough and wrote this little tool. It hangs itself into the VBI to find out which window in being activated and moves the screen to show the window in full view. USAGE: Template: HADJ/K,VADJ/K,NOFRONT/S,NOMOVE/S,ALWAYS/S,WBONLY/S,WFRONT/S, DEFPUB/S,QUIT/S from CLI or the same options as worbench tooltypes. HADJ=: Horizontal Adjustment: l : Left - means that IF scrolling is necessary, huntwindows will try to get the window adjusted to the left edge of the screen r : Same as above with the right edge c : Same as above but centering in the screen Everything else will switch the adjustment off VADJ=: Horizontal Adjustment: t : Top - means that IF scrolling is necessary, huntwindows will try to get the window adjusted to the top edge of the screen b : Same as above with the top edge c : Same as above but centering in the screen Everything else will switch the adjustment off NOFRONT : Disable the ScreenToFront() whenever a window is activated Not giving this option automatically enables the ScreenToFront() feature. NOMOVE : Disable ScreenMove() whenever a window is actived - if the option is not given, moving is automatically enabled. ALWAYS : Turns of the optimization done when a window is already totally visible. This will only have any affect if a HADJ or VADJ option is set. WBONLY : Only affect windows on the Workbenchscreen - if something happens on another screen it will be ignored. WFRONT : Do an additional WindowToFront() for windows being activated. This will only show effect if you close a window, and the next possible active window chosen by the OS is hidden somewhere. DEFPUB : If the Intuition FirstScreen is a PublicScreen it will automaticly set as DefaultPubScreen, so all windows opening on the default will use the FirstScreen. QUIT : Quit an already running installation of Huntwindows. This can also be done by breaking the Task (CTRL-C) From CLI you will have to start the program in the background via run nil: huntwindows [options] or whatever you like. If you want to quit Huntwindows simply break the task or type "huntwindows QUIT". From Workbench adjust the tooltypes and simply start by double-clicking. All the options can be changed by simply starting Huntwindows a second time. CAUTION: The options will be set the same way as if you initially start Huntwindows. This means that if you skip an option you had set, the option will be resetted. THANX: Christian 'cschneid' Schneider for technical support and finding bugs without ever wanting to use this program. Markus 'ill' Illenseer for ideas. Michael Suelmann for help with the workbench-support. TECHNICAL: For reaching this Huntwindows installs a Vertical-Blank interrupt-server, which tests if the ActiveWindow recorded by intuition differs from the last interrupt and then signals the main-task to move the display. Don't mind it taking away too much CPU time - if you have a look at the source at label 'Interrupt3' you will find that it doesn't do anyhing that is worth arguing about. HISTORY: Version 1.0: Worked with patching vectors, which didn't solve the problem of getting every active window completly. Version 1.1: Now uses VBI for catching active windows. Version 1.2: Added some new options and removed some bugs. Version 1.3: WBONLY and WFRONT option added. WFRONT will not make WindowToFront() on Backdrop and WBENCHWINDOW windows because it causes problems. Workbenchsupport added. Version 1.4: Crash when entering wrong arguments removed Added DEFPUB option FINAL REMARKS: This tool is very nice to be used together with Windowshuffle by Stefan Sticht, for hopping through the windows and actually seeing them, when having a BIG workbench. Huntwindows could do a lot of more interesting things - if I could think about anything, so if you have ideas please contact me! For problems and ideas, reach me at: EMAIL: bublath@kirk.fmi.uni-passau.de IRC: Skull SMAIL: Jörg Bublath Holzheimerstr. 4/E07 8390 Passau Germany Phone: Germany-0851-59947