emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/exwm dba43b0 32/64: Fix input focus stealing


From: Chris Feng
Subject: [elpa] externals/exwm dba43b0 32/64: Fix input focus stealing
Date: Thu, 17 Sep 2015 23:18:01 +0000

branch: externals/exwm
commit dba43b018d791f59f0462b56a46a4eced2d8a3c1
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>

    Fix input focus stealing
    
    This was fixed in b755296 but broken by 04e4269.
---
 exwm-input.el |   18 ++++++++++--------
 1 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/exwm-input.el b/exwm-input.el
index 0ef7232..6b41fff 100644
--- a/exwm-input.el
+++ b/exwm-input.el
@@ -112,20 +112,22 @@ It's updated in several occasions, and only used by 
`exwm-input--set-focus'.")
   "Update input focus."
   (when exwm-input--focus-window
     (with-current-buffer (window-buffer exwm-input--focus-window)
-      (exwm--log "Set focus on %s" exwm-input--focus-window)
       (if (eq major-mode 'exwm-mode)
           (progn
             (when exwm--floating-frame
               (redirect-frame-focus exwm--floating-frame nil)
               (select-frame-set-input-focus exwm--floating-frame t))
+            (exwm--log "Set focus on #x%x" exwm--id)
             (exwm-input--set-focus exwm--id))
-        (select-frame-set-input-focus (window-frame exwm-input--focus-window)
-                                      t)
-        (dolist (pair exwm--id-buffer-alist)
-          (with-current-buffer (cdr pair)
-            (when (and exwm--floating-frame
-                       (eq exwm--frame exwm-workspace--current))
-              (redirect-frame-focus exwm--floating-frame exwm--frame)))))
+        (when (eq (selected-window) exwm-input--focus-window)
+          (exwm--log "Focus on %s" exwm-input--focus-window)
+          (select-frame-set-input-focus (window-frame exwm-input--focus-window)
+                                        t)
+          (dolist (pair exwm--id-buffer-alist)
+            (with-current-buffer (cdr pair)
+              (when (and exwm--floating-frame
+                         (eq exwm--frame exwm-workspace--current))
+                (redirect-frame-focus exwm--floating-frame exwm--frame))))))
       (setq exwm-input--focus-window nil))))
 
 (defun exwm-input--finish-key-sequence ()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]