changeset 20512:65399b8cd0ad

(mouse-avoidance-mode): Variable customized to automatically load the package.
author Richard M. Stallman <rms@gnu.org>
date Mon, 22 Dec 1997 21:50:59 +0000
parents 9a051580fa02
children 6044f0be20eb
files lisp/avoid.el
diffstat 1 files changed, 22 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/avoid.el	Mon Dec 22 21:47:18 1997 +0000
+++ b/lisp/avoid.el	Mon Dec 22 21:50:59 1997 +0000
@@ -32,7 +32,9 @@
 ;;
 ;; (if window-system (mouse-avoidance-mode 'animate))
 ;;
-;; The 'animate can be 'jump or 'banish or 'exile or 'protean if you prefer.
+;; Other legitimate alternatives include
+;; `banish', `exile', `jump', `cat-and-mouse', and `proteus'.
+;; They do somewhat different things.
 ;; See the documentation for function `mouse-avoidance-mode' for
 ;; details of the different modes.
 ;;
@@ -75,11 +77,20 @@
   :group 'mouse)
 
 
-(defvar mouse-avoidance-mode nil
-  "Value is t or a symbol if the mouse pointer should avoid the cursor.
-See function `mouse-avoidance-mode' for possible values.  Changing this
-variable is NOT the recommended way to change modes; use that function 
-instead.")
+(defcustom mouse-avoidance-mode nil
+  "Activate mouse avoidance mode.  
+See function `mouse-avoidance-mode' for possible values.
+You must modify via \\[customize] for this variable to have an effect."
+  :set (lambda (symbol value)
+	 ;; 'none below prevents toggling when value is nil.
+	 (mouse-avoidance-mode (or value 'none))) 
+  :initialize 'custom-initialize-default
+  :type '(choice (const :tag "none" nil) (const banish) (const jump) 
+		 (const animate) (const exile) (const proteus)
+		 )
+  :group 'avoid
+  :require 'avoid)
+
 
 (defcustom mouse-avoidance-nudge-dist 15
   "*Average distance that mouse will be moved when approached by cursor.
@@ -378,4 +389,8 @@
 ;;    (setq minor-mode-alist (cons '(mouse-avoidance-mode " Avoid")
 ;;				 minor-mode-alist)))
 
-;;; End of avoid.el
+;; Needed for custom.
+(if mouse-avoidance-mode 
+    (mouse-avoidance-mode mouse-avoidance-mode))
+
+;;; avoid.el ends here