Next: Non-Window Terminals, Previous: Tooltips, Up: Frames [Contents][Index]

### 21.19 Mouse Avoidance

On graphical terminals, the mouse pointer may obscure the text in the Emacs frame. Emacs provides two methods to avoid this problem.

Firstly, Emacs hides the mouse pointer each time you type a self-inserting character, if the pointer lies inside an Emacs frame; moving the mouse pointer makes it visible again. To disable this feature, set the variable `make-pointer-invisible` to `nil`.

Secondly, you can use Mouse Avoidance mode, a minor mode, to keep the mouse pointer away from point. To use Mouse Avoidance mode, customize the variable `mouse-avoidance-mode`. You can set this to various values to move the mouse in several ways:

`banish`

  Move the pointer to a corner of the frame on any key-press. You can customize the variable `mouse-avoidance-banish-position` to specify where the pointer goes when it is banished.

`exile`

  Banish the pointer 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 pointer, displace the pointer by a random distance and direction.

`animate`

  As `jump`, but shows steps along the way for illusion of motion.

`cat-and-mouse`

  The same as `animate`.

`proteus`

  As `animate`, but changes the shape of the mouse pointer too.

You can also use the command `M-x mouse-avoidance-mode` to enable the mode. Whenever Mouse Avoidance mode moves the mouse, it also raises the frame.