diff options
author | Chris Feng <chris.w.feng@gmail.com> | 2016-08-31T11·27+0800 |
---|---|---|
committer | Chris Feng <chris.w.feng@gmail.com> | 2016-08-31T11·27+0800 |
commit | 4287d31df1762af8cd6641f4f58fea6ed607d294 (patch) | |
tree | 0774dff4bd725f28b5ef26c03f6cd1764d564204 | |
parent | cfcaed691bff4270a8bccf9f873a4ba8f0524b4b (diff) | |
parent | b4517fbfa058e38b9c229d3e76674221d89a2e2b (diff) |
Merge branch 'vedvyas/workspace-move-window-tweak' into externals/exwm
-rw-r--r-- | exwm-floating.el | 5 | ||||
-rw-r--r-- | exwm-workspace.el | 7 |
2 files changed, 6 insertions, 6 deletions
diff --git a/exwm-floating.el b/exwm-floating.el index 6f6cfecbfe4a..f2cc09be46f4 100644 --- a/exwm-floating.el +++ b/exwm-floating.el @@ -82,8 +82,9 @@ context of the corresponding buffer.") (defun exwm-floating--set-floating (id) "Make window ID floating." (let ((window (get-buffer-window (exwm--id->buffer id)))) - (when window ;window in non-floating state - (set-window-buffer window (other-buffer)))) ;hide it first + (when window + ;; Hide the non-floating X window first. + (set-window-buffer window (other-buffer nil t)))) (let* ((original-frame exwm-workspace--current) ;; Create new frame (frame (with-current-buffer diff --git a/exwm-workspace.el b/exwm-workspace.el index 958511270b8d..24a59f9fab07 100644 --- a/exwm-workspace.el +++ b/exwm-workspace.el @@ -746,10 +746,9 @@ INDEX must not exceed the current number of workspaces." (frame-root-window exwm--floating-frame))))) ;; Move the X window container. - (if (eq frame exwm-workspace--current) - (set-window-buffer (get-buffer-window (current-buffer) t) - (other-buffer)) - (bury-buffer) + (set-window-buffer (get-buffer-window (current-buffer) t) + (other-buffer nil t)) + (unless (eq frame exwm-workspace--current) ;; Clear the 'exwm-selected-window' frame parameter. (set-frame-parameter frame 'exwm-selected-window nil)) (exwm-layout--hide id) |