GNU bug report logs - #17439
24.3.50; run-with-idle-timer runs on focus-out

Previous Next

Package: emacs;

Reported by: Juri Linkov <juri <at> jurta.org>

Date: Thu, 8 May 2014 20:56:01 UTC

Severity: important

Found in version 24.3.50

Done: Juri Linkov <juri <at> jurta.org>

Bug is archived. No further changes may be made.

Full log


Message #17 received at 17439 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> jurta.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 17439 <at> debbugs.gnu.org
Subject: Re: bug#17439: 24.3.50; run-with-idle-timer runs on focus-out
Date: Sat, 10 May 2014 23:38:20 +0300
> So are you saying we should NOT ignore focus-in?  If you still think
> focus-in should be ignored, then I think the above description
> (perhaps together with the window manager where it was observed)
> should be in the comments to the code.

After more testing without ignoring focus-in and with ignoring focus-out,
often pressing and releasing Alt-Tab quickly generates both events
focus-in and focus-out, and when having no time to show the Window List
focus-in moves the mouse pointer and hides the selected window.
So both events should be ignored, like `switch-frame' is already ignored
when switching between Emacs frames.  I'll add a comment about this.

And there are more fixes necessary in avoid.el.  This patch will ignore
modifiers used together with mouse events:

=== modified file 'lisp/avoid.el'
--- lisp/avoid.el	2014-01-01 07:43:34 +0000
+++ lisp/avoid.el	2014-05-10 20:36:19 +0000
@@ -347,7 +348,13 @@ (defun mouse-avoidance-ignore-p ()
 		   (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))

And this patch fixes the customization of `mouse-avoidance-banish-position'
(it can be tested by e.g. using `set-variable' on `mouse-avoidance-banish-position'):

=== modified file 'lisp/avoid.el'
--- lisp/avoid.el	2014-01-01 07:43:34 +0000
+++ lisp/avoid.el	2014-05-10 20:36:19 +0000
@@ -129,9 +129,10 @@ (defcustom mouse-avoidance-banish-positi
 TOP-OR-BOTTOM-POS: Distance from top or bottom edge of frame or window."
   :group   'avoid
   :version "24.3"
-  :type    '(alist :key-type symbol :value-type symbol)
-  :options '(frame-or-window side (side-pos integer)
-             top-or-bottom (top-or-bottom-pos integer)))
+  :type    '(alist :key-type symbol :value-type (choice symbol integer))
+  :options '((frame-or-window symbol) (side symbol) (side-pos integer)
+             (top-or-bottom symbol) (top-or-bottom-pos integer)))




This bug report was last modified 11 years and 2 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.