22.20 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. See Customization of Display.

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.