Exclusions

miniMIZE contains a very advanced exclusion engine which it allows you to set windows that you want miniMIZE to ignore and thus not show as thumbnails on your desktop.

There may be various reasons for wanting to ignore a particular window for example there are some applications that have compatibility issues with miniMIZE. The exclusion list allows you to stop them from causing problems with miniMIZE.

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.
graphic
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.
graphic

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
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:

Copy *.*

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.

http://en.wikipedia.org/wiki/Regular_expression
http://www.regular-expressions.info/
http://gnosis.cx/publish/programming/regular_expressions.html



Copyright (c) 2005 Stephen Kew