diff options
author | Chris Feng <chris.w.feng@gmail.com> | 2016-03-16T04·34+0800 |
---|---|---|
committer | Chris Feng <chris.w.feng@gmail.com> | 2016-03-16T04·34+0800 |
commit | 3cef44a6ca2093500b092f99dc588fb8bf9c184d (patch) | |
tree | 645149ef2d10a99b423ee43e92582a602d6f4d99 | |
parent | c8c0bc7b60c043d47e153e40c2ae139f513e9358 (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.el | 6 |
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 |