Types Of Exclusions
There are three types of exclusions. Each type builds on the previous and increases the
accuracy of the exclusion.
· The first and easiest is a Process exclusion. This is where any window from a given
process or application will be excluded.
For example, setting a Process exclusion on 'WinWord.exe' will exclude all windows
from Microsoft Word.
· The second is a Class exclusion. Class exclusions take process exclusions to the next
level. Every window within Windows is created from a particular Window Class. The
Window Class is a programming concept that is used to set some very low level settings
for all the windows that are based on that particular class. Within a process there may be
many windows that are based on the same class, so setting a Class exclusion will exclude
all windows in the particular process that are created from that class.
Continuing our previous example, all the main windows within Microsoft Word are
based on the OpusApp class. So adding a Class exclusion on 'OpusApp' for 'WinWord.exe' will exclude all windows that have been created from the OpusApp
class, but will not exclude any other windows.
· The last type of exclusion is a Window exclusion. A Window exclusion matches on the
exact text of the particular window. Generally the text of the window is the same as that
which is shown in the window's title bar.
Once more continuing the example, we could set a Window exclusion on 'Document1
- Microsoft Word'. That would effectively tell miniMIZE to ignore all windows for 'WinWord.exe' that have that text set as their text in the title bar.
Remember that the exclusion types build on each other, so it is not possible to set a Window
exclusion that matches all processes. Similarly it is not possible to set a Window exclusion
that matches all window classes. (Actually this is a little bit of a lie, if you want to see how to
do this, see the section on Advanced Matching)
How Exclusions Are Defined
Exclusions are defined as strings in a tree structure with the string representing the Process
exclusion at the root of the tree. Under that node all of the Class exclusions defined for that
Process exclusion are defined. Then within each of the Class exclusion nodes all of the
Window exclusions for that particular Class exclusion are defined.
The Exclusion list is stored in the registry in the following key:
HKEY_CURRENT_USER\Software\miniMIZE\Exclusions
|
Each process exclusion is a sub-key of the main exclusion key with each class exclusion being
a sub-key to the particular process key. The window exclusions are stored as string values
within the particular class key.

Setting Exclusions
There are two ways to set exclusions. The first and easiest is to use the Settings Editor that
comes with miniMIZE. To get to it, right click on the miniMIZE icon in the tray and select
settings from the popup menu. Then click on the Exclusions tab in the settings dialog (see the Section on Exclusion Settings).
The second is to manually enter the exclusions into the registry. This method is not
recommended because it requires you to determine the exclusion strings for the process,
window class and window titles for the exclusion to work correctly.
Advanced matching brings the power of regular expressions to the miniMIZE Exclusion
engine. Regular Expressions provide a far more powerful way to match strings, rather than
just performing a simple comparison between two strings. This inturn allows the exclusion list
to be far more powerful.
What exactly is a regular expression? Well, if you think about a normal string comparison,
what happens is the application looks at each character in turn and determines if they are the
same. If all of the characters in each string match, then both of the strings match.
Regular Expressions on the other hand define the types of strings that can be matched. So
instead of doing a comparison on the actual characters in the string, when you use regular
expressions, you define a pattern which in turn defines the sets of strings that are able to be
matched.
If you think back to the dos days, when you wanted to copy all files in a directory, you used a
wild card like:
where the *.* matched all files (the * in a wild card meant match anything).
While regular expressions are more complicated than that, it effectively explains how they
work. Regular expressions can be quite difficult to define, so if you require help defining a
regular expression for your exclusions, why not post to the support forum?
The following are some useful links for understanding regular expressions, however a search
on google will present you with a wealth of information.
Copyright (c) 2005 Stephen Kew