» Home

  » Plugins

      » Mime

            » Gesture Precedence

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