[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/exwm 5298489 18/64: Fix some input focus issues
From: |
Chris Feng |
Subject: |
[elpa] externals/exwm 5298489 18/64: Fix some input focus issues |
Date: |
Thu, 17 Sep 2015 23:17:56 +0000 |
branch: externals/exwm
commit 52984898ec8d59fe42e86a311c7e7dbeec95c611
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>
Fix some input focus issues
* Fix input focus lost after moving window to another workspace
* Enhance `exwm-reset` to provide user a way to reset input focus when it's
lost unexpectedly
---
exwm-workspace.el | 13 ++++++++-----
exwm.el | 3 +++
2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/exwm-workspace.el b/exwm-workspace.el
index da3f9ce..efecf57 100644
--- a/exwm-workspace.el
+++ b/exwm-workspace.el
@@ -181,14 +181,17 @@ The optional FORCE option is for internal use only."
(if exwm--floating-frame
;; Move the floating frame is enough
(xcb:+request exwm--connection
- (make-instance 'xcb:ReparentWindow
- :window (frame-parameter exwm--floating-frame
- 'exwm-outer-id)
- :parent (frame-parameter frame 'exwm-window-id)
- :x 0 :y 0))
+ (make-instance 'xcb:ReparentWindow
+ :window (frame-parameter exwm--floating-frame
+ 'exwm-outer-id)
+ :parent (frame-parameter frame 'exwm-window-id)
+ :x 0 :y 0))
;; Move the window itself
(bury-buffer)
(exwm-layout--hide id)
+ ;; Force update input focus
+ (setq exwm-input--focus-id xcb:Window:None)
+ (exwm-input--update-focus)
(xcb:+request exwm--connection
(make-instance 'xcb:ReparentWindow
:window id
diff --git a/exwm.el b/exwm.el
index 88d7674..984f8ee 100644
--- a/exwm.el
+++ b/exwm.el
@@ -198,6 +198,9 @@
(with-current-buffer (window-buffer)
(when (eq major-mode 'exwm-mode)
(when exwm--fullscreen (exwm-layout-unset-fullscreen))
+ ;; Force update input focus
+ (setq exwm-input--focus-id xcb:Window:None)
+ (exwm-input--update-focus)
(exwm-input-grab-keyboard))))
(defmacro exwm--with-current-id (id &rest body)
- [elpa] externals/exwm f4416a1 06/64: Fix potential naming conflicts, (continued)
- [elpa] externals/exwm f4416a1 06/64: Fix potential naming conflicts, Chris Feng, 2015/09/17
- [elpa] externals/exwm ea7c6c7 08/64: Fix typos, Chris Feng, 2015/09/17
- [elpa] externals/exwm 7892ed3 02/64: Improve move/resize, Chris Feng, 2015/09/17
- [elpa] externals/exwm ee3ce55 09/64: Merge pull request #2 from KAMiKAZOW/patch-1, Chris Feng, 2015/09/17
- [elpa] externals/exwm caf2fee 11/64: Drop intro to EXIM, Chris Feng, 2015/09/17
- [elpa] externals/exwm 3fc0cb2 10/64: Various fixes, Chris Feng, 2015/09/17
- [elpa] externals/exwm 3fb90b9 12/64: Fix fullscreen issues, Chris Feng, 2015/09/17
- [elpa] externals/exwm 86764d2 07/64: Add basic RandR support, Chris Feng, 2015/09/17
- [elpa] externals/exwm 1e36a22 13/64: Check buffer mode in exwm-reset, Chris Feng, 2015/09/17
- [elpa] externals/exwm 14628a9 16/64: Fix race conditions when managing a window, Chris Feng, 2015/09/17
- [elpa] externals/exwm 5298489 18/64: Fix some input focus issues,
Chris Feng <=
- [elpa] externals/exwm 3b9d0dd 17/64: Fixes for manage/unmanage window, Chris Feng, 2015/09/17
- [elpa] externals/exwm 42f4ec6 20/64: Show moved window by default, Chris Feng, 2015/09/17
- [elpa] externals/exwm 36bb579 21/64: Refresh when minibuffer grows (fix #10), Chris Feng, 2015/09/17
- [elpa] externals/exwm 2ad1a89 14/64: Various input fixes, Chris Feng, 2015/09/17
- [elpa] externals/exwm 84f0f03 15/64: Fix input focus lost after closing window, Chris Feng, 2015/09/17
- [elpa] externals/exwm 63402b0 19/64: Correct layout refresh problems, Chris Feng, 2015/09/17
- [elpa] externals/exwm edc70eb 22/64: Remove redundant code caused by the concurrency of events, Chris Feng, 2015/09/17
- [elpa] externals/exwm 2d4104a 23/64: Fix emacsclient bugs, Chris Feng, 2015/09/17
- [elpa] externals/exwm 24b964b 25/64: Ignore repeated `MappingNotify` events, Chris Feng, 2015/09/17
- [elpa] externals/exwm 801185c 27/64: Fix buffer switch problems, Chris Feng, 2015/09/17