home *** CD-ROM | disk | FTP | other *** search
-
- Huntwindows V3.3 by Jörg Bublath
- ================================
-
- Some options may have changed to earlier versions - please check this out!
-
-
- COPYRIGHT:
-
- Huntwindows is freely distributable.
- Huntwindows 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 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.04 (V37) 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.
- Huntwindows also checks the actual window to be moved to a different
- location or change size and will adjust the screen to match the changed
- window.
- Additionally there are some other related features like remembering
- and activating one window for each screen or bring the window or screen
- being activated to front.
- For full user-comfort, coming with version 2.0, Huntwindows is now a
- commodity and can placed into your WBStartup Drawer and has a Graphical
- User Interface.
-
- USAGE:
-
- Template:
- MOVE/S,SFRONT/S,WFRONT/S,DEFPUB/S,REMWIN/S,MOVEMOUSE/S,CX_POPUP/S,RESTRICT/S,
- WBWIN/S,CX_PRIORITY/K,CX_POPKEY/K,HADJ/K,VADJ/K,SCREEN/K,WINDOW/K,
- ACTIONKEY/K,ACTION/K,DELAY/K,LWINDOW/K,NWINDOW/K,SMOOTH/K:
-
- or the same options as worbench tooltypes (if no default values are
- mentioned, then giving the tooltype turn on, leaving it away turns it off)
-
- MOVE:
- Enable ScreenMove() whenever a window is actived - this option should
- always be given, because it's the main purpose of the program.
-
- SFRONT:
- Enable the ScreenToFront() whenever a window is activated
-
- WFRONT:
- Do an additional WindowToFront() for windows being activated.
-
- 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.
-
- REMWIN:
- Remember the ActiveWindow for every screen. When switching through the
- screens Huntwindows will activate the last window that was active when it
- was the FirstScreen. A maximum of 64 different screens will be remembered
- - that should be enough, right?
- This option was based on TWA by Matthias Scheler.
-
- MOVEMOUSE:
- When you try to click on a close-gadget (or any other) of a window that is
- not completely visible, Huntwindows will move the window to show it
- completely before you have time to release the button and activate it. When
- this option is set Huntwindows will move the mouse with the screen, so it
- still is at the same position as before, and the window will really close
- (or whatever).
- This movement will only take place if the mouse was on a position that was
- already visible before scrolling - otherwise no mouse move will occur.
-
- CX_POPUP:
- Show the Graphical User Interface on startup.
- The Interface will be automaticly shown, if Huntwindows is already running.
-
- RESTRICT:
- Often the only thing you want to exclude by the ScreenPattern is that
- Screens are set to Default PubScreen. If the RESTRICT option is giving, the
- ScreenPattern only turn off the Set Default PubScreen switch on that
- particular screen and leaves everything else working.
-
- WBWIN:
- Workbench drawers cannot be excluded by a pattern easily because they
- have very variable names. When this option is set no actions will be
- performed on Workbench drawers.
-
- CX_PRIORITY=<signed integer> (Default 0)
- Set the commodity priority. This is the only function which can't be
- changed from the GUI. It will naturally be saved anyway. To edit it you
- have to use the workbench to directly change the tooltype.
-
- CX_POPKEY=<standard key description> (Default: control alt h)
- Sets the Popup-hotkey for the GUI. By pressing this key-combination, the
- GUI will pop open.
-
- HADJ=<a>: (only the first letter of the string is significant, Default "l" )
- 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=<a>: (only the first letter of the string is significant, Default "t" )
- 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 buttom edge
- c : Same as above but centering in the screen
- Everything else will switch the adjustment off
-
- SCREEN=<pattern> (Default no pattern)
- All actions will only take place if the DefaultTitle of the actual screen
- matches to the given pattern. If no pattern is given, all screens match.
- If you only want to exclude some screens, simply negate the pattern.
- For example: SCREEN=~(myscreen#?)
- The patternmatching is case insensitive.
-
- WINDOW=<pattern> (Default no pattern)
- Same as screen, but checks the Title of the window that is going to be
- processed.
-
- ACTIONKEY=<standard key description> (Default: control help)
- Pressing the hotkey defined here, Huntwindows will perform an action
- without a activation or screenchange taken place. Very helpful if you
- scrolled around and want to find back to your active window.
-
- ACTION=<a> (only the first letter of the string is significant, Default "n")
- n : necessary - Huntwindows will do actions as ever it finds it necessary
- (which is windowactivation and screenchange for now)
- h : hotkey - Huntwindows will only do actions when the ACTIONKEY is
- pressed.
- a : always - Will also do adjustment when the window is already
- completely visible. This will only perform an action if
- VADJ or HADJ is set different to 'off'.
-
- DELAY=<integer> (Default: 0)
- This will make Huntwindows wait given 1/50th of a second after the last
- activation or screenchange before doing anything to prevent hopping around
- with autopoint or other fast changes that do not need to cause an action.
-
- LWINDOW=<standard key description> (Default: lcommand left)
- Huntwindows will remember the window that was previously activated and
- re-activate it on pressing the specified hotkey. If this window is
- no longer opened or patterned out nothing will happen. Pressing the
- hotkey again and again will jump between the active and the previously
- window.
-
- NWINDOW=<standard key description> (Default: lcommand right)
- This hotkey jumps to the next window chained to the active window.
- Pressing the hotkey again and again will cycle through all windows on the
- screen. I don't think a previous window key is necessary (too many
- hotkeys already).
-
- SMOOTH=<integer> (Default: 0)
- This value states how much Pixels per VBlank (ca. each 1/50 second) the
- screen should be moved. Best looking values are around 30-60. Putting it
- to the default zero turns smooth-scrolling off. Well, the smooth-scrolling
- isn't that smooth - its just there to give you an idea which direction
- your screen is moving.
-
- From CLI you will have to start the program in the background via
-
- run <nil: >nil: huntwindows [options]
-
- or whatever you like. If you want to quit Huntwindows simply break the
- task or quit it with the "Exchange" Commodity Program or from the GUI.
-
- From Workbench adjust the tooltypes and simply start by double-clicking.
-
-
- THE GRAPHICAL USER INTERFACE:
-
- By defining CX_POPUP, by starting Huntwindows a second time or by using
- "Show Interface" from the "Exchange" Commodity Program or by simply
- pressing the popup hotkey a GUI comes up.
-
- All options and tooltypes can be changed here. So you can play around to
- find out your configuration. If you already have placed Huntwindows in your
- wbstartup-drawer you may simply click "Save" to add all your options as
- tooltypes to the icon. When starting from CLI, the "Save"-gadget will be
- disabled. All options matching the default-value will not be entered when
- saving.
- The tooltype "DONOTWAIT", which is necessary when placing Huntwindows into
- wbstartup is automaticly added on saving as is CX_PRIORITY if not default.
-
- When changing the pattern from the GUI, a check will be done when you press
- return. If there is an error in the pattern, a requester comes up and tells
- you so. If you do not re-edit the pattern until it is ok, it will match
- nothing, which is equal to disabling Huntwindows.
-
-
- THANX TO:
-
- -Michael Suelmann for help with the workbench/gadtools
- -Markus 'ill' Illenseer for ideas and Aswarm (where I looked up how to do
- commodities)
- -Georg 'Gucky' Hessmann and Matthias 'Tron' Scheler for the idea with the
- REMWIN option.
- -Bernhard 'ZZA' Möllemann for testing and help.
- -Stefan Sticht for help.
- -Olaf 'MagicOlf' Peters for finding V37-bugs.
- -Franz Schwarz for finding bugs and suggestions.
- -Dale D. Snell for the nice icon.
- -Mario "Magick" Kemper for finding bugs.
-
- TECHNICAL:
-
- For reaching this Huntwindows installs a Vertical-Blank interrupt-server,
- which tests if the ActiveWindow and the FirstScreen 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.
- Partly this also could be done from an inputevent-handler which records the
- intui-messages, but this doesn't solve the Firstscreen-problem and would
- require major changes of the code.
-
- TODO:
- Waiting for any further suggestions from you!
-
- BUGS:
- none - I hope.
-
-
- For problems and ideas, reach me at:
-
- EMAIL: bublath@forwiss.uni-passau.de
-
- IRC : Skull (to be found on #amigager - the german amiga channel)
-
- SMAIL: Jörg Bublath
- Holzheimerstr. 4/E07
- 94032 Passau
- Germany
- Phone: Germany-0851-59947
-
-
-