summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1996-03-27 22:38:19 +0000
committerRichard M. Stallman <rms@gnu.org>1996-03-27 22:38:19 +0000
commit9a80cee32a5da862aa07cb8d44b5eac272f72673 (patch)
tree3987dd6b508c535b76f1096474872a9cae92bd16
parentf25daac62646485824aa90a19a64c564d1223456 (diff)
downloademacs-9a80cee32a5da862aa07cb8d44b5eac272f72673.tar.gz
(mouse-avoidance-old-pointer-shape): New vbl.
(mouse-avoidance-mode): Save old pointer shape when entering protean mode; restore when exiting.
-rw-r--r--lisp/avoid.el10
1 files changed, 9 insertions, 1 deletions
diff --git a/lisp/avoid.el b/lisp/avoid.el
index 591eb698163..f95ee81985e 100644
--- a/lisp/avoid.el
+++ b/lisp/avoid.el
@@ -95,6 +95,7 @@ Only applies in mouse-avoidance-modes `animate' and `jump'.")
(defvar mouse-avoidance-state nil)
(defvar mouse-avoidance-pointer-shapes nil)
(defvar mouse-avoidance-n-pointer-shapes 0)
+(defvar mouse-avoidance-old-pointer-shape nil)
;;; Functions:
@@ -323,6 +324,12 @@ definition of \"random distance\".)"
(remove-hook 'post-command-idle-hook 'mouse-avoidance-banish-hook)
(remove-hook 'post-command-idle-hook 'mouse-avoidance-exile-hook)
(remove-hook 'post-command-idle-hook 'mouse-avoidance-fancy-hook)
+
+ ;; Restore pointer shape if necessary
+ (if (eq mouse-avoidance-mode 'proteus)
+ (mouse-avoidance-set-pointer-shape mouse-avoidance-old-pointer-shape))
+
+ ;; Do additional setup depending on version of mode requested
(cond ((eq mode 'none)
(setq mouse-avoidance-mode nil))
((or (eq mode 'jump)
@@ -330,7 +337,8 @@ definition of \"random distance\".)"
(eq mode 'proteus))
(add-hook 'post-command-idle-hook 'mouse-avoidance-fancy-hook)
(setq mouse-avoidance-mode mode
- mouse-avoidance-state (cons 0 0)))
+ mouse-avoidance-state (cons 0 0)
+ mouse-avoidance-old-pointer-shape x-pointer-shape))
((eq mode 'exile)
(add-hook 'post-command-idle-hook 'mouse-avoidance-exile-hook)
(setq mouse-avoidance-mode mode