about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChris Feng <chris.w.feng@gmail.com>2016-03-16T04·34+0800
committerChris Feng <chris.w.feng@gmail.com>2016-03-16T04·34+0800
commit3cef44a6ca2093500b092f99dc588fb8bf9c184d (patch)
tree645149ef2d10a99b423ee43e92582a602d6f4d99
parentc8c0bc7b60c043d47e153e40c2ae139f513e9358 (diff)
Exclude unmanaged floating X windows when refreshing
* exwm-layout.el (exwm-layout--refresh): Do not show unmanaged
floating X windows.
-rw-r--r--exwm-layout.el6
1 files changed, 4 insertions, 2 deletions
diff --git a/exwm-layout.el b/exwm-layout.el
index 309bfb6fb672..6825cb56d33d 100644
--- a/exwm-layout.el
+++ b/exwm-layout.el
@@ -258,8 +258,10 @@
             (when (eq major-mode 'exwm-mode)
               (let ((window (frame-first-window frame)))
                 (with-current-buffer (window-buffer window)
-                  (exwm--log "Refresh floating window #x%x" exwm--id)
-                  (exwm-layout--show exwm--id window))))
+                  ;; It may be a buffer waiting to be killed.
+                  (when (exwm--id->buffer exwm--id)
+                    (exwm--log "Refresh floating window #x%x" exwm--id)
+                    (exwm-layout--show exwm--id window)))))
           ;; Other frames (e.g. terminal/graphical frame of emacsclient)
           ;; We shall bury all `exwm-mode' buffers in this case
           (setq windows (window-list frame 0)) ;exclude minibuffer