Mouse Gestures for Mozilla


What's the Difference between Tab Edition & Regular?
What Does Ultralight Mean?
User Reference
Change Log

Quick Guide
License and Meta

This is free software, there is no warranty of any kind. You are free to redistribute this in its entirety, ie the original author must be credited prominently. If you wish to redistribute a modified version, you must have permission from the author.

Version: 2.9
Author: snuz2
Date: July 2021

µGesture is written in Javascript. It was made to be small and compact and only include the most important features. However, if you believe there is something important that was left out, or if there is something you really love or hate about it, feel free to contact the author.

What Does Ultralight mean?

It seems that there used to be a handful of Mouse Gesture extensions for Mozilla products, but lately they have dwindled down to about one. While FireGestures can be configured to do almost anything, I don't like its philosophy at all, so I wrote microGesture.

I believe that mouse gestures are only really useful for the most common tasks of the browser. Especially, forward and backward navigation for those who don't have a 5 button mouse, or like me, never got used to it. I also added top and bottom of page since they are intuitive and handy gestures. About the only other common task I perform when browsing is following links, so I added gestures that intelligently respond to links and allow you to take control of where they open: in a new tab, or in a background tab. Although more complicated gestures to do even more things are possible, most of those things are available on the right-click context menu. If I need to make 2 or more strokes to make the gesture, that is no easier than clicking the context menu. Also, the context menu doesn't require me to remember anything, while too many gestures will just result in most of them being forgotten.

The result of this is a small extension that is Quick, Easy to learn, Intuitive and has No Configuration. While the "Everything to Everyone" extension is ~400KB, microGesture is just about 2KB. That's because it is custom written using the ultralight philosophy. That's like 0.5% of the resources to perform the only part of the job most users will ever really need.

It is tiny and downloads fast, takes up minimum disk space, loads fast and runs fast. It maximizes usefulness by minimizing the user interface. Most of the space in FireGestures is devoted to its configuration panels and requirement to be able to intervene in almost anything your browser does; with no configuration and a sensibly limited scope, microGesture keeps out of your browser's business.

Ultralight doesn't have to be ugly, clumsy or unintuitive. Once upon a time, all software strove to be ultralight by necessity; and in the days of cheap abundant memory it may seem ridiculous to worry about. But ultralight runs great on any system, gets along well with others and is easier to learn and more responsive. I hope you enjoy it!

User Reference

How to Use It

There is no menu item or icon for microGesture, just use the gestures to make it work. To make a gesture, hold down the Right mouse button and drag in the direction you want, then release the button. There is a minimum movement required to recognize the gesture. The gesture operates on the window or object where you start it, not end it.

  • Up - Goto Top of page. For links, Force to open in a New Tab.
  • Down - Goto Bottom of page. For links, Force to open in a Background Tab.
  • Left - Navigate Back. If there is no page to go back to, close the tab.
  • Right - Navigate Forward. If there is no page to go forward to, reopen the last closed tab.

Controlling the Opening of Links

Not all links are really links! Sometimes links are disguised to look like something else, say a button or an image. And sometimes, what looks like a link really just runs a script on a page. The control of where a link opens only works if it is a real link, no extension can control where a script on another page places its output.
How can you tell if it's a real link? It has an address when you hover over it, like "http://www.somewhere.com/somepage/"; how can you tell if it is a script on the page? It has an address like "javascript(void)". Do not email with a complaint that it didn't work for you unless you are sure it is a valid page load from a web address.

Tab Edition & Regular Edition

Tab Edition was made due to user requests for a more powerful extension that could open and close tabs rather than just go up and down the page. It is exactly the same except the up gesture opens a blank tab and the down gesture closes the current tab.It does not include the autoclosing feature when you try to navigate back from a tab that can't go back.

Preferences in about:config
  • extensions.microgesture.closetab - Default: True - If true, close the tab if there is no tab to go back to and reopen the last closed tab if there is no tab to go forward to. If you don't like this auto-open/autoclose behavior, set this pref to false in about:config.
  • extensions.microgesture.links - Default: True - If true, recognize links and perform the link gestures on them. If you don't like this link detecting behavior, set this pref to false in about:config and only top/bottom/forward/back gestures will be performed.
Change Log

v1.0Initial Release for Beta test.
v1.1Contains survey for link gesture change.
v1.2Changes to link gestures and survey results.
v1.3Fixes a bug in 1.2 that prevents it from loading on some FF versions.
v1.4Survey results splash page removed.
v2.0Made compatible with e10s.
v2.1Homepage host changed.
v2.2aAutoreopen feature added.
v2.3Splash page for auto reopen removed.
v2.4(a)Messaging calls changed to asynchronous to get around a race condition bug.
v2.5Manifest adds Palemoon target application.
v2.6Possible workaround for a Mozilla bug that appears on some Linuxes, causing addon to do nothing.
v2.7Works on all Linuxes now, even those that show context on mousedown.
v2.8Fix regression of about:config search box menu unavailable.
v2.9Fix regression of YouTube context menu unreliable.