From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thierry Volpiatto Newsgroups: gmane.emacs.devel Subject: [PATCH] Allow setting corner in mouse avoidance mode. Date: Tue, 29 Nov 2011 21:21:45 +0100 Message-ID: <87boruu1ba.fsf@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1322598140 28918 80.91.229.12 (29 Nov 2011 20:22:20 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 29 Nov 2011 20:22:20 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Nov 29 21:22:15 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RVUBz-0000YB-A5 for ged-emacs-devel@m.gmane.org; Tue, 29 Nov 2011 21:22:15 +0100 Original-Received: from localhost ([::1]:38910 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RVUBy-0004oZ-Ht for ged-emacs-devel@m.gmane.org; Tue, 29 Nov 2011 15:22:14 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:41473) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RVUBs-0004oS-0G for emacs-devel@gnu.org; Tue, 29 Nov 2011 15:22:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RVUBn-0002ad-Mu for emacs-devel@gnu.org; Tue, 29 Nov 2011 15:22:07 -0500 Original-Received: from lo.gmane.org ([80.91.229.12]:58907) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RVUBn-0002aH-5M for emacs-devel@gnu.org; Tue, 29 Nov 2011 15:22:03 -0500 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1RVUBk-0000QS-8r for emacs-devel@gnu.org; Tue, 29 Nov 2011 21:22:00 +0100 Original-Received: from 121.78.88.79.rev.sfr.net ([79.88.78.121]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 29 Nov 2011 21:22:00 +0100 Original-Received: from thierry.volpiatto by 121.78.88.79.rev.sfr.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 29 Nov 2011 21:22:00 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 62 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: 121.78.88.79.rev.sfr.net User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.91 (gnu/linux) Cancel-Lock: sha1:+VJe5rZ9Jhe1foCLuHjdKeaJhEQ= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 80.91.229.12 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:146354 Archived-At: 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... --8<---------------cut here---------------start------------->8--- # HG changeset patch # User Thierry Volpiatto # Date 1322597576 -3600 # Node ID 31f0d43e028c558d1b2834e34327db4fd5220b41 # 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. --8<---------------cut here---------------end--------------->8--- -- Thierry Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997