Huntwindows V1.3 by Jörg Bublath
================================
Program and source are placed into Public Domain
REQUIREMENTS: Kickstart 2.0 or higher
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.
You can use the following template:
HADJ/K,VADJ/K,NOFRONT/S,NOMOVE/S,ALWAYS/S,WBONLY/S,WFRONT/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.
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.
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.
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.
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