TrayThis! Version 1.5
Copyright (C) 1998-2001 Eric Christopher Amodio
All Rights Reserved 
Please send all feedback, suggestions and bug-reports to traythis@hotmail.com

VERSION: 1.5 (Build 0337)

--- Contents ---------------------------------------------------------------

    1. Introduction
    2. Legal stuff
    3. Install/Uninstall
    4. Instructions
    5. Known Issues
    6. Future
    7. Credits
    8. Required Files
    9. History

 --- 1. Introduction --------------------------------------------------------
	
    TrayThis! performs specified actions (i.e. Bring to front, Close, Hide,
    Hide in System Tray, Ignore, On top, Transparency) on running applications
    given a window title and/or class (type) and certain criteria (i.e. On 
    minimize only or Always).  For example, TrayThis! could be used to hide 
    to the System Tray an e-mail application that needs to be running to
    receive incoming messages (e.g. Microsoft Outlook).    

 --- 2. Legal stuff ---------------------------------------------------------

    TrayThis! Version 1.5
    Copyright (c) 1998-2001 Eric Christopher Amodio
    All Rights Reserved 

    You should carefully read the following terms and conditions before using
    this software.
    
    See License.txt for details.

 --- 3. Install/Uninstall ---------------------------------------------------

    Run the SETUP.EXE file from Windows Explorer.
    
    The TrayThis! setup uses the Microsoft Windows Installer.  Since many
    applications are starting to use the Microsoft Windows Installer,
    there is a good chance that it is already present on your system.
    However, if you are unable to run the setup, you will need to install
    the runtime, which is available directly from Microsoft:
    
    Microsoft Windows Installer v1.2 for Windows 9x, Me:   
    http://msdn.microsoft.com/msdn-files/027/001/455/instmsia.exe
    
    Microsoft Windows Installer v1.2 for Windows NT 4.0:
    http://msdn.microsoft.com/msdn-files/027/001/456/instmsiw.exe


    Run TrayThis.exe /u to remove TrayThis! registry entries, and then use 
    the control panel "Add/Remove Programs" applet to uninstall TrayThis!.

 --- 4. Instructions --------------------------------------------------------

    1) Create a new rule and enter a name
    2) Enter a title or class (type) of the window(s) you wish to watch
    3) Select the type of action to be applied to the window(s)
    4) Select the criteria in which this action should occur
    5) OPTIONAL: If the action is "Hide to System Tray" then select an icon
       for display in the System Tray for the windows

    When a window(s) matches a rule's title and/or class and criteria, TrayThis! 
    will execute the action associated with that rule.

 --- 5. Known Issues --------------------------------------------------------

    - None

 --- 6. Future --------------------------------------------------------------

    - Bug fixes (I don't see no stinkin' bugs! ;)
    - Installer enhancements
    - Tray manager options and enhancements
    - Add system tray control (i.e. hide/show system tray icons)
    - Add multiple actions per rule
    - Online help (maybe I can con someone else into writing this ;)
    - Anything that seems interesting and challenging

 --- 7. Credits -------------------------------------------------------------

    I would like to thank everyone that has supplied me with valuable 
    feedback, suggestions, and bug reports.  Thanks guys! :)

 --- 8. Required Files ------------------------------------------------------

    TrayThis! is written in Microsoft Visual Basic 6 (SP5).
    
    Requirements:
	- Microsoft Windows 95/98/ME/2000 or NT4 (SP3+)
	- Microsoft Visual Basic 6 (SP5) Runtimes
	- Microsoft Common Controls (IE4+)

 --- 9. History -------------------------------------------------------------
 
    1.5 (Build 0337) [03/27/2001]
    	! Fixed:   Context menus will now appear on the Setup window
    	! Fixed:   A possible (handled) exception when a window was removed,
    		   while the Setup window was visible

    1.5 (Build 0336) [03/22/2001]
    	! Fixed:   Auto-hide was not paying attention to whether or not a
    	           window was suspended
    	! Fixed:   Reduced TrayThis! memory usage by over 25%
    	+ Added:   A TrayThis! license information entry window, accessible
    		   from the AboutBox
    	+ Added:   A TrayThis! installer (its about time!)
	+ Added:   TrayThis! tray manager option under the single/double
		   click options for "trayed" window icons
	+ Added:   TrayThis! windows menu option under the single/double
		   click options for "trayed" window icons
	+ Added:   The window switcher now has a tooltip for each window
	+ Added:   The ability to click on a window in the window switcher, 
		   to select it (left click) or show the window's context
		   menu (right click)
	* Changed: TrayThis! will now check the parent if a child window
		   changes
	* Changed: Reworked the way the tray icons respond to mouse events,
    		   should be more robust    		   

    1.5 (Build 0312) [03/14/2001]
    	! Fixed:   Focus issue when applying options on the Options window
    	* Changed: Renamed TrayThis! 2000 to TrayThis!
    	* Changed: Major revamp of TrayThis! internals, which warranted 
    		   incrementing the revision number.  TrayThis! no longer
    		   polls to see if any windows match any of the active rules,
    		   which results in a HUGE performance increase!
    	* Changed: The X (close button) on the main window no longer closes
    		   TrayThis!.  To exit TrayThis! use File->Exit or Exit 
    		   context menu
   	* Changed: Some menu shortcut keys have been changed to be more
   		   standard

    1.0 (Build 0308) [03/08/2001]
	! Fixed:   Again, increased the timeout to determine if a window is
		   hung, since it was causing icon problems
	! Fixed:   A possible (handled) exception when a window was added 
		   or removed from the Windows View		   
	+ Added:   Transparency to the Tray manager window

    1.0 (Build 0305) [02/28/2001]
	! Fixed:   Decreased the frequency TrayThis! queries each window
		   in the system tray for its icon
	! Fixed:   TrayThis! *REALLY* shouldn't hang anymore when dealing with
		   other hung windows (I think I have finally tracked down the
		   last case)
	+ Added:   A Tray manager window which will eventually allow you to
		   hide icons in the system tray.  This is still under
		   construction, but currently displays a mini tray-like 
		   dialog which contains an icon for each watched window
	+ Added:   A new TrayThis! tray manager option under the single/double
		   click options for the TrayThis! icon, which is still under
		   construction, but currently displays a mini-dialog with
		   icons for each of the currently watched windows in it
	+ Added:   A new TrayThis! windows menu option under the single/double
		   click options for the TrayThis! icon, which displays the 
		   TrayThis! windows menu
	+ Added:   A new rule option to auto-hide "trayed" windows after a
		   specified number of seconds, to reduce tray clutter for
		   rarely used windows
	* Changed: Recompiled with Microsoft Visual Basic 6 SP5

    1.0 (Build 0273) [01/24/2001]
	+ Added:   TrayThis! now has exception handling, now if any exception
		   occurs a TTException.txt file will be created
	+ Added:   New commandline parameters /u or /uninstall which will 
		   remove all TrayThis! registry entries (NOTE: This will
		   remove all your rules!)

    1.0 (Build 0266) [12/06/2000]
	+ Added:   The ability to truncate a window's title to a specified
		   number of characters in the menus
	+ Added:   UI to the options dialog to set the window's title length
		   in the menus
	* Changed: Significantly enhanded the Window switcher

    1.0 Release Candidate 1 (Build 0252) [09/07/2000]
	! Fixed:   Increased the timeout to determine if a window is hung,
	     	   since it was causing icon flicker problems

    1.0 Release Candidate 1 (Build 0251) [08/14/2000]
	! Fixed:   TrayThis! shouldn't hang anymore when dealing with other
		   hung windows
	+ Added:   A status column to the Windows tab which shows whether or
		   not a window is hung

    1.0 Release Candidate 1 (Build 0239) [06/27/2000]
	+ Added:   A window switcher similar to Windows Alt+Tab functionality
	+ Added:   A new "Show All Windows" view to the Windows tab
	* Changed: Recompiled with Microsoft Visual Basic 6 SP4

    1.0 Release Candidate 1 (Build 0207) [04/15/2000]
	! Fixed:   The "Find Whole Word Only" option now REALLY works correctly
	+ Added:   A new criteria "Always" was added to the "Hide in System
		   Tray" action, which functions just like the "On Minimize
		   Only" criteria, except that tray icon is always visible
		   and controls the visibility of the window
	+ Added:   A new action type "Bring to Front", which is a one shot 
		   action (i.e. it is executed and then suspended)
	+ Added:   A new action type "Close", which does exactly what you'd
		   think :)
	+ Added:   A default icon is now used for windows without an icon with 
		   the "Hide to System Tray" action
	* Changed: The internal architecture has been reworked, so the CPU
		   usage has been reduced (not sure by how much exactly, but
		   in some cases it is quite drastic), as well as the 
		   executable size
	* Changed: The options dialog has been reworked, mainly layout
	- Removed: The Windows->Advanced Options have been removed, since they 
		   weren't that useful (though they may make a re-appearance in
		   the future)
	- Removed: The toolbar is no longer dockable, and is static at the 
		   top of the TrayThis! window.  I did this to remove a
		   component from the application, which really didn't enhance
		   the functionality of the application

    1.0 Release Candidate 1 (Build 0135) [01/04/2000]
	! Fixed:   The Windows sub-menu now handles multiple windows with 
		   the same title correctly (i.e. doesn't crash anymore :)

    1.0 Release Candidate 1 (Build 0133) [09/24/1999]
	! Fixed:   The "Find Whole Word Only" option now works correctly

    1.0 Release Candidate 1 (Build 0131) [08/27/1999]
	* Changed: Minor internal changes

    1.0 Beta 2 (Build 0130) [08/16/1999]
	+ Added:   Transparent desktop icons option under Windows->Advanced
		   Options

    1.0 Beta 2 (Build 0129) [08/11/1999]
	! Fixed:   The Windows sub-menu always has the categories in the 
		   same order now
	! Fixed:   Shortcut keys in the menus didn't work completely right
	! Fixed:   Performing a refresh would sometimes, remove all the tray
		   icons and not replace them
	! Fixed:   TrayThis! no longer crashes, if you in-line edit a rule 
		   while it currently had windows matching it
	! Fixed:   The Windows view is now updates correctly (and at the 
		   correct interval)
	+ Added:   New option to show/hide ignored windows from the Windows
		   sub-menu
    	+ Added:   There is now an Ignore window action type
	+ Added:   Column sizes are now saved
	* Changed: The CPU usage has been decreased (not sure by how much 
		   exactly)
	- Removed: TrayThis! no longer requires COMCT332.OCX

    1.0 Beta 2 (Build 0119) [07/29/1999]
	! Fixed:   The custom menus no long trap key presses incorrectly 
		   (i.e. over child windows, etc)
	! Fixed:   Undo/Cut/Copy/Paste are more intuitive (i.e. if you are
		   editing the label of a rule, they function on the text,
		   if you are not editing the label, they function on the 
		   rule)

    1.0 Beta 2 (Build 0118) [07/28/1999]
	! Fixed:   I re-introduced the weird crashes under certain
		   circumstances when I reworked the system tray stuff in 
		   build 093+.  I hope I have fixed it again, this time with 
		   a completely new approach ;)
	! Fixed:   Single/double click behavior now works correctly, i.e.
		   if you configure an icon to execute an action on a single
		   and double click, the single click action will not occur
		   if you double click
	! Fixed:   If the "Search tool windows" option is not on, doing a 
		   refresh will not temporarily turn it on
	! Fixed:   When you delete a rule, all the windows associated with 
		   that are now cleaned up (I broke this when I added undo)

    1.0 Beta 2 (Build 0113) [07/27/1999]
        ! Fixed:   Undo is no longer active when TrayThis! starts
	! Fixed:   I think I finally have completely fixed the few random
		   crashes that some people have been experiencing
	! Fixed:   Tool windows can now be watched by TrayThis! (I broke this
		   when I was speeding up the window search routine)
	! Fixed:   The about and options dialog no longer open multiple
		   copies of themselves
	! Fixed:   Miscellaneous other problems
	+ Added:   All new menus with icons (not just context menus)
	+ Added:   Many new options (too many to name)
	+ Added:   Under the Windows (was Window List) menu there is a new
		   sub-menu, Advanced Options, which allows you to minimize
		   all windows or hide/show the desktop icons (more advanced
		   options still to come)
	* Changed: Reworked the entire options dialog
	* Changed: Revised all the registry settings for options (not
		   rules), which will cause them to be reset to defaults
	* Changed: The Window List menu has been renamed to the TrayThis! 
		   Windows menu
	
    1.0 Beta 1 (Build 0093) [07/15/1999]
	! Fixed:   No more ghost windows in the window list menu
	! Fixed:   Run at startup for current user, now works correctly
	! Fixed:   In the rule wizard, searching for a window's class now
		   works properly again (I don't know when I broke this)
	+ Added:   New context menus now with icons
	+ Added:   Banner on the new context menus
	* Changed: When TrayThis! starts up disabled, it doesn't automatically
                   do a full refresh any more

    1.0 Beta 1 (Build 0081) [06/23/1999]
	! Fixed:   TrayThis! windows can no longer be the target of TrayThis!
		   functions
	+ Added:   New option to show the window list in context menus
	+ Added:   A view selector to the windows view, to show all windows, 
		   or currently watched ones - NOT FUNCTIONAL YET

    1.0 Beta 1 (Build 0079) [06/16/1999]
	! Fixed:   Auto-start bug under Windows 9x, should work fine now
	! Fixed:   Crashes under weird circumstances should REALLY be fixed
	+ Added:   Now all the rules have a specific icon (shown on the 
		   Windows tab)
	+ Added:   TrayThis! now does a full refresh upon startup (crash
		   recovery)
	* Changed: New layout for the TrayThis! context menu

    1.0 Beta 1 (Build 0073) [06/02/1999]
	! Fixed:   Crashes under weird circumstances (mostly visible under 
		   Windows 98) should now be fixed (I hope!)
	* Changed: Recompiled with Visual Basic 6 SP3

    1.0 Beta 1 (Build 0071) [05/19/1999]
    	! Fixed:   When you close TrayThis!, it no longer stops matched
		   windows from displaying their system menu correctly
	! Fixed:   Running TrayThis! when its already loaded now causes the
		   loaded version of TrayThis! to display the setup dialog
	! Fixed:   A random GFP should now be fixed
	! Fixed:   A problem where the window list interval affected the rule
		   execution interval
	! Fixed:   There were a couple of case where the TrayThis! icon wouldn't
		   come back the conditional hide mode
	! Fixed:   A possible resource leak has been fixed
	! Fixed:   Reduced CPU load a bit
	! Fixed:   The filename of custom icons didn't get trimmed, now fixed
	+ Added:   Ability to check all currently matched windows, and make
		   sure they still match (on the advanced options page)
	* Changed: The upper and lower bounds of the intervals on the options
		   page changed
	* Changed: Revised the registry settings for some of the options (not
		   rules), which will cause them to be reset to defaults

    1.0 Beta 1 (Build 0056) [05/14/1999]
	! Fixed:   A problem where a window would try to be added to all the 
                   rules it matched, now it is only added to the first
	! Fixed:   Most of the weird toolbar issues should now be fixed
	! Fixed:   Reworked the internals of executing and clearing rules,
		   so the entire application should be much more stable
	! Fixed:   Double apply on the rule inspector is now fixed
	! Fixed:   I think I fixed the problem where the context menus
		   wouldn't be displayed for some windows
	+ Added:   Display confirmation dialog for rule deletion, exit, and
		   save on exit to the advanced options page
	+ Added:   In-line editing of a rule's name
	+ Added:   The window list (on the Windows tab) can now be sorted
	+ Added:   Single level undo
	+ Added:   Better error and general message text
	* Changed: Context menus in the window list (on the Windows tab) no
		   longer display the window title or the TrayThis! sub-menu

    1.0 Alpha (Build 0040) [05/11/1999]
	! Fixed:   The fix for the TrayThis! icon disappearing caused the tray
		   icon to not show state correctly
	! Fixed:   A few minor problems with the new API menus, with default
	 	   items and such
	! Fixed:   The dragable search tool for capturing a window title 
		   and/or class and title had some minor issues with the way
                   it functioned
	+ Added:   Enabling and disabling of rules
	+ Added:   The Window List sub-menu back to TrayThis! context menu
	* Changed: The context menus are now all API based which fixes 
		   problems with Windows 98/2000

    1.0 Alpha (Build 0033) [05/07/1999]
	! Fixed:   A few problems where if a rule was changed, the windows 
		   affected by that rule wouldn't see some of the changes
	! Fixed:   A problem where the TrayThis! icon would just disappear
	! Fixed:   A problem where a rule with no title but a class wouldn't
		   find windows correctly
	+ Added:   Always on top functionality
	+ Added:   Transparency/alpha blending functionality 
		   (Windows 2000 only)
	+ Added:   Ability to check all currently matched windows, and make
		   sure they exists (on the advanced options page)
	+ Added:   Ability to check only top level windows (on the advanced
		   options page)
	* Changed: Revised and optimized the window searching algorithm 
		   (it should be much faster and more precise)
	* Changed: Mouse settings text on the options page should be clearer
	* Changed: The options on the advanced options page are now in a list
	- Removed: The criteria from the Hide to System Tray action, because
		   it was just silly (it is now locked to On Minimize Only)

    1.0 Alpha (Build 0023) [05/04/1999]
	+ Added:   Many more options to the options page
	+ Added:   Save/restore of the window list refresh interval
	* Changed: A few of the graphics
	* Changed: Cleaned up the options page
	- Removed: Mouse functions, instead just use mouse settings 
		   (activation)
	
    1.0 Alpha (Build 0014) [05/03/1999]
	* Initial limited release