Brass Plugins: Mime
Gesture Precedence
Not only can Mime interpret gestures in any Windows
application, it can also allow you to use multiple gestures for
the same action. If you wanted to configure "mouse left, mouse
right" and "mouse right, mouse left" to tell an application
to print, you would just add both gestures.
However there are a finite number of gestures you
can make with the mouse, and remembering even half of those is probably
pretty hard. So generally you'll want to use very similar gestures
in most applications to do different things.
The criteria system within Mime also allows you
to use the same gesture in 2 different applications to perform 2
different actions. Mouse up, mouse down in Internet Explorer might
cause the page to be reloaded, whereas the same gesture in Trillian
might open the preferences page.
However what happens when you have a potentially
conflicting gesture and criteria set?
Perhaps you want mouse up, mouse down to be associated
with the "Built In" - "Open Anywhere" action.
The criteria for this action is "Any application", so
no matter what program you're using Mime will instruct it to put
a "Open File" dialog on screen. However you also want
mouse up, mouse down to be associated with "Internet Explorer"
- "Page Reload". Here's a problem - making the mouse up,
mouse down gesture in Internet Explorer matches both the "Page
Reload" criteria (Internet Explorer only) and "Open Anywhere"
criteria (Any application).
This is where gesture precedence comes in.
Using Gesture Precedence
Mime always takes the first action it finds that
matches both gesture and criteria. When creating gestures you should
always ensure that the most restrictive criteria are processed first.
That way, in the above example the more restrictive criteria of
"Page Reload" (only in Internet Explorer) is processed
before "Open File" (any application). The end result is
that Internet Explorer reloads the page when you make a mouse up,
mouse down gesture, but all other applications show the "Open
File" dialog.
Gesture precedence applies to gestures, actions
and criteria. You can control which gesture is processed first within
an action, which actions are processed first within a criteria,
and which criteria are processed first overall.
Configuring Gesture Precedence
Configuring this is easy. In the Mime Gesture Configuration
screen there are up and down arrows to the right of the "Configured
Gestures" tree. Selecting an item in the tree then clicking
the up arrow moves it up in the processing order. Clicking the down
arrow moves it down in the processing order.

The main use for precedence is to re-order the
criteria level of the tree ("Built In", "Internet
Explorer"). You can use it to reorder the actions and gestures
as well if you like.
Mime matches gestures and criteria in the order
they appear in the "Configured Gestures" tree.
Knowing when to use Precedence
Most of the time gesture precedence won't be an issue for you.
Keep all actions and gestures from the "Built In - All Apps"
criteria at the bottom of the gesture tree and everything will work
correctly.
It is possible that at some point you'll add criteria and gestures
to Mime that do conflict. It'll be easy to spot when this happens
- instead of the action you were expecting, something different
happens! To resolve it, move the criteria up the tree until the
right action happens.
Gesture precedence is why many gesture criteria appear to duplicate
available actions. For example, there is a "LaunchExplorer"
action that opens a new Windows Explorer (file manager) window in
"Built In - All Apps", "Windows Explorer" and
"On The Desktop". Although all 3 versions of this action
achieve the same result, you should now understand why there are
3 versions rather than just one. If you only want to launch a new
Explorer window when you make a gesture on the desktop, you should
configure the "LaunchExplorer" action in the "On
The Desktop" criteria. If you really do want to be able to
launch it with a gesture from anywhere then you should configure
the action in "Built In - All Apps".
|