diff --git a/exwm-layout.el b/exwm-layout.el index fd8c164..d084c96 100644 --- a/exwm-layout.el +++ b/exwm-layout.el @@ -255,13 +255,13 @@ (if (not (memq frame exwm-workspace--list)) (if (frame-parameter frame 'exwm-outer-id) ;; Refresh a floating frame - (when (eq major-mode 'exwm-mode) - (let ((window (frame-first-window frame))) - (with-current-buffer (window-buffer 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))))) + (let ((window (frame-first-window frame))) + (with-current-buffer (window-buffer window) + (when (and (eq major-mode 'exwm-mode) + ;; It may be a buffer waiting to be killed. + (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