From 15cdf8f5897183adf5426ecc280eb61626e2c980 Mon Sep 17 00:00:00 2001 From: Chris Feng Date: Sun, 7 Feb 2016 11:25:49 +0800 Subject: Unmanage X windows on exit * exwm-workspace.el (exwm-workspace--confirm-kill-emacs): New function called on exit to unmanage X windows. (exwm-workspace--init): Set `confirm-kill-emacs' to `exwm-workspace--confirm-kill-emacs'. * exwm-manage.el (exwm-manage--on-UnmapNotify): Ignore UnmapNotify event generated as a result of parent being resized. --- exwm-manage.el | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'exwm-manage.el') diff --git a/exwm-manage.el b/exwm-manage.el index b32d677ea92b..b899afbb851f 100644 --- a/exwm-manage.el +++ b/exwm-manage.el @@ -421,8 +421,10 @@ Would you like to kill it? " (unless synthetic (let ((obj (make-instance 'xcb:UnmapNotify))) (xcb:unmarshal obj data) - (exwm--log "UnmapNotify from #x%x" (slot-value obj 'window)) - (exwm-manage--unmanage-window (slot-value obj 'window) t)))) + (with-slots (window from-configure) obj + (unless from-configure ;the parent is being resized + (exwm--log "UnmapNotify from #x%x" window) + (exwm-manage--unmanage-window window t)))))) (defun exwm-manage--on-DestroyNotify (data synthetic) "Handle DestroyNotify event." -- cgit 1.4.1