GNU bug report logs -
#10165
[PATCH] Allow setting corner in mouse avoidance mode.
Previous Next
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
> Hi all,
> there was nothing except modifying function
> `mouse-avoidance-banish-destination' to set in which corner mouse is
> banish.
> This patch allow setting this through
> `mouse-avoidance-banish-destination' user variable like this:
> (left . top) or (right . bottom) etc...
Thanks. We're in feature freeze---please file this in the bug database
so it doesn't get forgotten.
[patch-r118037.patch (text/x-diff, inline)]
# HG changeset patch
# User Thierry Volpiatto <thierry.volpiatto <at> gmail.com>
# Date 1322632617 -3600
# Node ID 885228e9f341f392fc6886bf2855a66c5bdba6c5
# Parent c511f9c3f7a2cab8b3684b2f1ea4782176988ac6
* lisp/avoid.el: Allow setting in which corner banish move the mouse.
(mouse-avoidance-banish-destination): New user variable, a cons pair to specify banish corner position.
(mouse-avoidance-banish-destination): Set destination according to mouse-avoidance-banish-destination value.
diff --git a/lisp/avoid.el b/lisp/avoid.el
--- a/lisp/avoid.el
+++ b/lisp/avoid.el
@@ -115,6 +115,11 @@
:type 'integer
:group 'avoid)
+(defcustom mouse-avoidance-banish-destination '(left . top)
+ "Set the position to which Mouse Avoidance mode `banish' moves the mouse."
+ :group 'avoid
+ :type 'list)
+
;; Internal variables
(defvar mouse-avoidance-state nil)
(defvar mouse-avoidance-pointer-shapes nil)
@@ -183,10 +188,18 @@
(defun mouse-avoidance-banish-destination ()
"The position to which Mouse Avoidance mode `banish' moves the mouse.
-You can redefine this if you want the mouse banished to a different corner."
- (let* ((pos (window-edges)))
- (cons (- (nth 2 pos) 2)
- (nth 1 pos))))
+If you want the mouse banished to a different corner set
+`mouse-avoidance-banish-destination' as you need."
+ (let* ((pos (loop for v in (window-edges)
+ for k in '(left top right bottom)
+ collect (cons k v)))
+ (side (car mouse-avoidance-banish-destination))
+ (up-down (cdr mouse-avoidance-banish-destination))
+ (fn (case side
+ (left '+)
+ (right '-))))
+ (cons (funcall fn (assoc-default side pos) 2)
+ (assoc-default up-down pos))))
(defun mouse-avoidance-banish-mouse ()
;; Put the mouse pointer in the upper-right corner of the current frame.
[Message part 3 (text/plain, inline)]
--
Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997
This bug report was last modified 13 years and 91 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.