[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/exwm 2005fa5 2/3: Make _NET_ACTIVE_WINDOW working for f
From: |
Chris Feng |
Subject: |
[elpa] externals/exwm 2005fa5 2/3: Make _NET_ACTIVE_WINDOW working for floating X windows |
Date: |
Sun, 22 Sep 2019 10:16:29 -0400 (EDT) |
branch: externals/exwm
commit 2005fa5c5dcfdcc49e1ce0b631a1793e9c25604f
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>
Make _NET_ACTIVE_WINDOW working for floating X windows
* exwm.el (exwm--on-ClientMessage): Select floating frames for
floating X windows on receiving _NET_ACTIVE_WINDOW.
---
exwm.el | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/exwm.el b/exwm.el
index e5b603e..36dbcb6 100644
--- a/exwm.el
+++ b/exwm.el
@@ -446,16 +446,18 @@
(when (buffer-live-p buffer)
(with-current-buffer buffer
(when (eq exwm--frame exwm-workspace--current)
- (setq iconic (exwm-layout--iconic-state-p))
- (when iconic
- ;; State change: iconic => normal.
- (set-window-buffer (frame-selected-window exwm--frame)
- (current-buffer)))
- ;; Focus transfer.
- (setq window (get-buffer-window nil t))
- (when (or iconic
- (not (eq window (selected-window))))
- (select-window window)))))))
+ (if exwm--floating-frame
+ (select-frame exwm--floating-frame)
+ (setq iconic (exwm-layout--iconic-state-p))
+ (when iconic
+ ;; State change: iconic => normal.
+ (set-window-buffer (frame-selected-window exwm--frame)
+ (current-buffer)))
+ ;; Focus transfer.
+ (setq window (get-buffer-window nil t))
+ (when (or iconic
+ (not (eq window (selected-window))))
+ (select-window window))))))))
;; _NET_CLOSE_WINDOW.
((= type xcb:Atom:_NET_CLOSE_WINDOW)
(let ((buffer (exwm--id->buffer id)))