From fe8ee3c5786bf8c1c69cef1b2ad6bb6b2d785a6d Mon Sep 17 00:00:00 2001 From: Chris Feng Date: Sun, 30 Jun 2019 00:00:00 +0000 Subject: Fix 'Attempt to delete a surrogate minibuffer frame' error * exwm-workspace.el (exwm-workspace--get-remove-frame-next-workspace): New function automatically moves X window elsewhere before removing a workspace; also returns the destination workspace. (exwm-workspace--prompt-delete, exwm-workspace-delete) (exwm-workspace--remove-frame-as-workspace): Use it. * exwm.el (exwm--on-ClientMessage): Use it. --- exwm.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'exwm.el') diff --git a/exwm.el b/exwm.el index ec49748c2dc8..9ebfabf9e817 100644 --- a/exwm.el +++ b/exwm.el @@ -432,7 +432,9 @@ (make-frame)) ((and (> current requested) (> current 1)) - (delete-frame (car (last exwm-workspace--list))))))) + (let ((frame (car (last exwm-workspace--list)))) + (exwm-workspace--get-remove-frame-next-workspace frame) + (delete-frame frame)))))) ;; _NET_CURRENT_DESKTOP. ((= type xcb:Atom:_NET_CURRENT_DESKTOP) (exwm-workspace-switch (elt data 0))) -- cgit 1.4.1