MinMaxExtender 1.2.1.0
-----------------------------------
This is the readme-file for MinMaxExtender.
Check out License.txt for (c) and such.

1. Description
2. Installation
3. Uninstallation
4. Configuration
5. Using MinMaxExtender in your everyday life
6. Native language support
7. Fine-tuning
8. Q&A
9. Contact

1. Description
--------------
MinMaxExtender is a program and a DLL file that provides functions for
advanced window handling. It draws some icons next to the Min-Max-Close-
buttons of your windows. Clicking these icons lets you:
-stretch the selected window across the screen.
-make the window "stay on top" of other windows.
-minimize it to the tray in different ways.
-"shade" a window, sort of like on MacOS or AfterStep.
The user can select which icons to use, and exclude some window types
from receiving the extended functions. 

2. Installation
---------------
Create a folder somewhere on your computer, and unzip the files into
that folder. Start MinMaxExtender by double-clicking the exe-file. If
you are using an NT/2000-system, it's recommended that you make sure
to have the file "psapi.dll" somewhere on your computer. psapi.dll is
on the Windows installation CD.

3. Uninstallation
-----------------
Make sure that the program is not running, and delete the files in the
folder. Some registry entries might be left behind, but they cause no 
harm.

4. Configuration
----------------
When MinMaxExtender starts you should see an icon shaped like a double-
arrowish, cross-like thing in your tray by the clock. If you double-
click it with the left mouse button a window appears. (This window 
should appear automatically the first time you run MinMaxExtender.)
In the window you can see the following (if english is the language):

"Buttons:"
 Here you select which buttons that you want to appear on your windows.

"Don't extend..."
 Here you can select some common window-styles that you normally don't
 want to extend. You can also select to exclude Classes and Files. If
 you click an "Edit"-button, Notepad will start and you get to edit
 files called classes.txt/files.txt. In classes.txt you write window-
 classes, for instance "Notepad" and in files you write filenames, such
 as "notepad.exe". If a window matches any of these criterias, it will
 not be extended. After having edited the files, you should save the
 changes and restart MinMaxExtender.

"Menu options:"
 Here you can select the initial state of the 'menu' that appear when
 right-clicking the trayicon. You can also select how the windows you
 send to the traymenu should be sorted.

"Run at startup"
 Quite obviously, this option lets you automatically start MMExt when
 Windows starts.

"Draw on..."
 You can choose if you want the buttons to appear on all visible
 windows or just the one that is focused. If you have a slow machine
 you should probably select '...foregroundwindow only.'

"Priority:"
 High priority means higher load on the computer, but faster drawing of
 the buttons. Low priority means lower system load, but slower drawing.

"Save changes"
 Hmmm, tricky one... Some options might require restarting MMExt.

"Exit MMExt"
 Exits the program completely. You probably want to use "Hide MMExt".

"Hide MMExt"
 Hides the config window. To pop the config window again, doubleclick the
 trayicon.

5. Using MinMaxExtender in your everyday life
---------------------------------------------
When you run MinMaxExtender one or all visible windows will have
0, 1, 2, 3, 4, 5 or 6 small icons next to the minimize-button in the 
titlebar. Left-clicking the icons has one of these effects on the
window:

 Maximize vertical: The window is resized to cover the full height of
  the screen, without changing its width. This feature doesn't work
  well if you are using several monitors. (Our longest standing bug.)
  If you click the button again the window will assume its original
  size and center vertically on the desktop.

 Maximize horizontal: The window is resized to cover the full width of
  the screen, without changing its height. This feature doesn't work
  well if you are using several monitors. (Our longest standing bug.)
  If you click the button again the window will assume its original
  size and center horizontally on the desktop.

 Minimize to menu: The window disappears, but don't panic, it's not
  gone. It's just hidden away. If you RIGHT-click the trayicon, a tool-
  window appears. The tool-window lists all the windows that you have
  minimized-to-menu. Double click the window you want to get back on 
  screen. The windows are listed according to the 
  "Sort menu by"-option, see above. When you have double-clicked a 
  windowname, the tool-window disappears, unless you have checked the
  "Menu stays"-option. You can also toggle the stay-state by 
  double-clicking the tool-windows titlebar. Close the window at any time
  by clicking the close button or pressing the Escape key.

 Minimize to icon: The window goes away, and instead an icon is added
  in the tray. Click the icon to show the window again.

 Shade: The window is resized to show only its caption. When clicking 
  the button again, the window will be restored. (Like on MacOS and
  some X-Window window managers.)

 Stay on top: Toggles the window-state commonly known as "Stay on top".
  Really sets the window-style to WS_EX_TOPMOST. 

Just play around with the program and the icons and you'll figure it
out.

6. Native language support
--------------------------
If english isn't your language of preference, you can have MinMaxExtender
speak another language. To do this there must be a file, containing
translations from english to your language, in the "lang"-subdirectory.
MinMaxExtender will automatically try to find the translations in "lang"
when it starts. If the appropriate file can't be found, it will default
to english. You can check the MinMaxExtender homepage to see if your
language is supported. If it isn't you are welcome to contribute your
linguistic talents and provide the translations. You can find more
information on how to translate MinMaxExtender in the files in "lang".
You can use the registry to select which language to use, see next
section.

7. Fine tuning
--------------
If you know how to use an registry editor for Windows, such as Regedit,
you will find some stuff under "HKCU/Software/Revenger inc./
MinMaxExtender" to fiddle with.
Here you can add more window-styles for exclusion than are available in
the config window. There are some 50 window-styles that you can add. You
find the names and descriptions on http://msdn.microsoft.com if you
search for 'CreateWindow' or something like that.
You can also change the size and positioning of the buttons if you're
not using the standard size of titlebars.
In section 5 you can read that when using the maximize features, the
window is resized to cover the full height/width of the screen. You
can change that with the HMax/VMax-percentage variables. They default
to 100%, but if you would like some space around your windows, you can
change these variables.
Finally, you can also override the language used in MinMaxExtender. Add
a new DWORD-key named "lang" and enter the code for the language you
want to use.
If you make changes that mess things up, you can just delete the whole
MinMaxExtender-key, and defaults will be restored next time you start
the application.

8. Q&A
------
Q: The buttons doesn't animate when pressing them...
A: No, they don't and they never ever will.

Q: Will MinMaxExtender slow down my system?
A: Yes. To reduce the load on your system you should use lower priority
   and only draw on the foreground-window. But if you have a half-decent
   computer it should not bother you to use MMExt.

Q: Why does the icons disappear on a maximized window?
A: This happens due to limitations in the communication between Windows
   and MinMaxExtender. There isn't much we can do about it. If you 
   first maximize vertical and then horizontal, you work around the 
   problem. (This is our second longest standing bug. :)

Q: Some of my other programs doesn't work, there are icons in places
   they are not supposed to be, etc...
A: All programmers tries to figure out new ways of making cooler 
   looking windows, and add functionality to their programs. Some mess
   up their windows so bad, that MinMaxExtender can't figure out where
   to put the icons. Check all "Don't extend..."-options, write the
   name of the executable in 'files.txt' or the class in 'classes.txt'.

Q: Why aren't the MinMaxExtender-windows extended?
A: Because we didn't want them to be. Developers privilege...

Q: The icons are Win95-style and doesn't match with my fancy XP-theme.
A: Since the icons are "hardcoded" into MMExt, there is no easy way
   at the moment to change the appearance of the icons, but if it turns
   out that people wants to be able to use their own custom icons, we
   will make it possible.
   (If it is really annoying to you, you can make your own icons, and
   try hacking them into the executable using a resource hacking utility.
   Hint: Decompress with UPX first. ;)

Q: I want to make changes in the registry, but don't know how to use a
   registryeditor...
A: Ask a friend who does to help you. :)
   If we were to include all options available in the registry in the GUI,
   it would be to messy. We will redesign it in a distant future.

9. Contact
----------
We can be reached at revenger_inc@hotmail.com. Any feedback, 
suggestions and bugreports is much appreciated.

revenger_inc@hotmail.com
http://www.geocities.com/revenger_inc/mmext.html
