summaryrefslogtreecommitdiff
path: root/lisp/avoid.el
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2000-11-23 14:21:19 +0000
committerGerd Moellmann <gerd@gnu.org>2000-11-23 14:21:19 +0000
commit064492bcf00dc11768f06f5a6e0628f7e753fbba (patch)
tree5d0a10d5f19839dcb513d15d240543a28f23c493 /lisp/avoid.el
parent635969b59cedfa2091044c4bee7f3dc3345e8e57 (diff)
downloademacs-064492bcf00dc11768f06f5a6e0628f7e753fbba.tar.gz
(mouse-avoidance-too-close-p): Return nil if mouse
is in the tool bar.
Diffstat (limited to 'lisp/avoid.el')
-rw-r--r--lisp/avoid.el27
1 files changed, 17 insertions, 10 deletions
diff --git a/lisp/avoid.el b/lisp/avoid.el
index 1f01eced204..2aa2b28f1c3 100644
--- a/lisp/avoid.el
+++ b/lisp/avoid.el
@@ -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.