mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-06 03:40:56 -08:00
* lisp/avoid.el (mouse-avoidance-set-mouse-position): Don't raise frame.
(mouse-avoidance-ignore-p): Remove `switch-frame', add `focus-out'. Add more modifiers: meta, control, shift, hyper, super, alt. Fixes: debbugs:17439
This commit is contained in:
parent
0a5cfeeecb
commit
a2115113ef
2 changed files with 15 additions and 11 deletions
|
|
@ -52,9 +52,6 @@
|
|||
;;
|
||||
;; - Using this code does slow Emacs down. "banish" mode shouldn't
|
||||
;; be too bad, and on my workstation even "animate" is reasonable.
|
||||
;;
|
||||
;; - It ought to find out where any overlapping frames are and avoid them,
|
||||
;; rather than always raising the frame.
|
||||
|
||||
;; Credits:
|
||||
;; This code was helped by all those who contributed suggestions,
|
||||
|
|
@ -172,12 +169,8 @@ Analogous to `mouse-position'."
|
|||
|
||||
(defun mouse-avoidance-set-mouse-position (pos)
|
||||
;; Carefully set mouse position to given position (X . Y)
|
||||
;; Ideally, should check if X,Y is in the current frame, and if not,
|
||||
;; leave the mouse where it was. However, this is currently
|
||||
;; difficult to do, so we just raise the frame to avoid frame switches.
|
||||
;; Returns t if it moved the mouse.
|
||||
(let ((f (selected-frame)))
|
||||
(raise-frame f)
|
||||
(set-mouse-position f (car pos) (cdr pos))
|
||||
t))
|
||||
|
||||
|
|
@ -342,12 +335,18 @@ redefine this function to suit your own tastes."
|
|||
(let ((modifiers (event-modifiers (car last-input-event))))
|
||||
(or (memq (car last-input-event)
|
||||
'(mouse-movement scroll-bar-movement
|
||||
select-window switch-frame))
|
||||
select-window focus-out))
|
||||
(memq 'click modifiers)
|
||||
(memq 'double modifiers)
|
||||
(memq 'triple modifiers)
|
||||
(memq 'drag modifiers)
|
||||
(memq 'down modifiers)))))))
|
||||
(memq 'down modifiers)
|
||||
(memq 'meta modifiers)
|
||||
(memq 'control modifiers)
|
||||
(memq 'shift modifiers)
|
||||
(memq 'hyper modifiers)
|
||||
(memq 'super modifiers)
|
||||
(memq 'alt modifiers)))))))
|
||||
|
||||
(defun mouse-avoidance-banish ()
|
||||
(if (not (mouse-avoidance-ignore-p))
|
||||
|
|
@ -403,8 +402,6 @@ Effects of the different modes:
|
|||
* cat-and-mouse: Same as `animate'.
|
||||
* proteus: As `animate', but changes the shape of the mouse pointer too.
|
||||
|
||||
Whenever the mouse is moved, the frame is also raised.
|
||||
|
||||
\(See `mouse-avoidance-threshold' for definition of \"too close\",
|
||||
and `mouse-avoidance-nudge-dist' and `mouse-avoidance-nudge-var' for
|
||||
definition of \"random distance\".)"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue