]> git.eshelyaron.com Git - emacs.git/commitdiff
(mouse-avoidance-too-close-p): Return nil if mouse
authorGerd Moellmann <gerd@gnu.org>
Thu, 23 Nov 2000 14:23:28 +0000 (14:23 +0000)
committerGerd Moellmann <gerd@gnu.org>
Thu, 23 Nov 2000 14:23:28 +0000 (14:23 +0000)
is in the tool bar.

lisp/ChangeLog
lisp/avoid.el

index 68da7842fbdbc20bd78b6e9daee431719c625b54..dc35d03507625b0c621e68464b5df653809660bb 100644 (file)
@@ -4,6 +4,9 @@
 
 2000-11-23  Gerd Moellmann  <gerd@gnu.org>
 
+       * avoid.el (mouse-avoidance-too-close-p): Return nil if mouse
+       is in the tool bar.
+
        * dired-aux.el (dired-add-entry): Don't call dired-get-filename
        with `no-dir'; we want the directory part to be able to remove
        it.
index 1f01eced204b876ca2bcea807f4700be46a14b72..2aa2b28f1c315da945ac395e7634c2b0976e508a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; avoid.el --- make mouse pointer stay out of the way of editing
 
-;;; Copyright (C) 1993, 1994 Free Software Foundation, Inc.
+;;; Copyright (C) 1993, 1994, 2000 Free Software Foundation, Inc.
 
 ;; Author: Boris Goldowsky <boris@gnu.org>
 ;; Keywords: mouse
@@ -173,15 +173,22 @@ Analogous to mouse-position."
     t))
 
 (defun mouse-avoidance-too-close-p (mouse)
-  ;;  Return t if mouse pointer and point cursor are too close.
-  ;; Acceptable distance is defined by mouse-avoidance-threshold.
-  (let ((point (mouse-avoidance-point-position)))
-    (and (eq (car mouse) (car point))
-        (car (cdr mouse))
-        (< (abs (- (car (cdr mouse)) (car (cdr point))))
-           mouse-avoidance-threshold)
-        (< (abs (- (cdr (cdr mouse)) (cdr (cdr point))))
-           mouse-avoidance-threshold))))
+  "Return t if mouse pointer and point cursor are too close.
+MOUSE is the current mouse position as returned by `mouse-position'.
+Acceptable distance is defined by `mouse-avoidance-threshold'."
+  (let* ((frame (car mouse))
+        (mouse-y (cdr (cdr mouse)))
+        (tool-bar-lines (frame-parameter nil 'tool-bar-lines)))
+    (if (and mouse-y (< mouse-y tool-bar-lines))
+       nil
+      (let ((point (mouse-avoidance-point-position))
+           (mouse-x (car (cdr mouse))))
+       (and (eq frame (car point))
+            (not (null mouse-x))
+            (< (abs (- mouse-x (car (cdr point))))
+               mouse-avoidance-threshold)
+            (< (abs (- mouse-y (cdr (cdr point))))
+               mouse-avoidance-threshold))))))
 
 (defun mouse-avoidance-banish-destination ()
   "The position to which mouse-avoidance-mode `banish' moves the mouse.