diff options
author | Chris Feng <chris.w.feng@gmail.com> | 2015-10-28T06·04+0800 |
---|---|---|
committer | Chris Feng <chris.w.feng@gmail.com> | 2015-10-28T06·05+0800 |
commit | 2779d2e418bb07adf0408dc8fdaa0fb6e88bf13a (patch) | |
tree | 50f3bf56760338d004c3242e762b8c18fc02ba29 /exwm-manage.el | |
parent | 11cc84d77e83b81fce8d3032df29d798546648e7 (diff) |
Make the creation/destruction of floating frames more silent
* exwm-floating.el (exwm-floating--set-floating): Reparent floating frames as late as possible. * exwm-manage.el (exwm-manage--unmanage-window): Hide floating frames first on unmanagement.
Diffstat (limited to 'exwm-manage.el')
-rw-r--r-- | exwm-manage.el | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/exwm-manage.el b/exwm-manage.el index fb6ca1672b7f..0eed8b9fd7f6 100644 --- a/exwm-manage.el +++ b/exwm-manage.el @@ -139,9 +139,9 @@ corresponding buffer.") height) 2))))) (xcb:flush exwm--connection) - (setq kill-buffer-query-functions nil) (setq exwm--id-buffer-alist (assq-delete-all id exwm--id-buffer-alist)) - (kill-buffer (current-buffer)) + (let ((kill-buffer-query-functions nil)) + (kill-buffer (current-buffer))) (throw 'return 'ignored)) ;; Manage the window (exwm--log "Manage #x%x" id) @@ -190,6 +190,9 @@ corresponding buffer.") (xcb:flush exwm--connection) (when (buffer-live-p buffer) (with-current-buffer buffer + (when exwm--floating-frame + (make-frame-invisible exwm--floating-frame) + (redisplay)) (setq exwm-workspace--switch-history-outdated t) ;; (when withdraw-only @@ -224,8 +227,8 @@ corresponding buffer.") (make-instance 'xcb:DeleteProperty :window id :property xcb:Atom:WM_STATE)) (xcb:flush exwm--connection)) - (setq kill-buffer-query-functions nil) - (let ((floating exwm--floating-frame)) + (let ((kill-buffer-query-functions nil) + (floating exwm--floating-frame)) (kill-buffer) (when floating (select-window |