GNU bug report logs - #10165
[PATCH] Allow setting corner in mouse avoidance mode.

Previous Next

Package: emacs;

Reported by: Thierry Volpiatto <thierry.volpiatto <at> gmail.com>

Date: Wed, 30 Nov 2011 06:00:02 UTC

Severity: wishlist

Tags: fixed, patch

Fixed in version 24.2

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Thierry Volpiatto <thierry.volpiatto <at> gmail.com>
To: 10165 <at> debbugs.gnu.org
Subject: bug#10165: [PATCH] Allow setting corner in mouse avoidance mode.
Date: Wed, 30 Nov 2011 07:05:29 +0100
As a reminder, I will have to put back the original behavior in
defcustom, that is to move the mouse by default in the 
top right corner i.e 
(defcustom mouse-avoidance-banish-destination '(right . top)
 
Thierry Volpiatto <thierry.volpiatto <at> gmail.com> writes:

>> 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.
>
>
> # 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.

-- 
  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.