Friday, December 5, 2008

Mouse avoidance mode: addressing minor irritants while working

You know the number of times you have to nudge the mouse, just to get the mouse pointer out of the way?  Irritatingly, right over the last letter and cursor when you have writer's block and staring blankly at the screen?

Well, Emacs has a minor mode to fix that too. erm....the mouse pointer, not the empty thought.

It's invoked as M-x mouse-avoidance-mode and gives you several options of how the mouse should behave when you call the function.  From the doc string

  * banish: Move the mouse to the upper-right corner on any keypress.
 * exile: Move the mouse to the corner only if the cursor gets too close, and allow it to return once the cursor is out of the way.
 * jump: If the cursor gets too close to the mouse, displace the mouse a random distance & direction.
 * animate: As `jump', but shows steps along the way for illusion of motion.
 * cat-and-mouse: Same as `animate'.
 * proteus: As `animate', but changes the shape of the mouse pointer too.

You can repeatedly chose from the different options to see what behaviour you like.  All you have to do is to bring the mouse close to point or where you are typing to see it move away.

Works beautifully without any noticeable disturbance to your typing.