diff options
author | Adrián Medraño Calvo <adrian@medranocalvo.com> | 2023-06-09T00·00+0000 |
---|---|---|
committer | Adrián Medraño Calvo <adrian@medranocalvo.com> | 2023-06-09T00·00+0000 |
commit | 7318f857f2937c421094d66d976d4e926feacc71 (patch) | |
tree | c31bca18af26c52dbfd0bff40712d4e7a19b3d32 /exwm-manage.el | |
parent | cff02333e282c692aa685d57cc2b7c32419fffe2 (diff) |
Observe connection status on deinitialization
* exwm-workspace.el (exwm-workspace--remove-frame-as-workspace): Add optional argument quit. * exwm-background.el (exwm-background--exit): * exwm-input.el (exwm-input--exit): * exwm-manage.el (exwm-manage--unmanage-window): * exwm-systemtray.el (exwm-systemtray--exit): * exwm-workspace.el (exwm-workspace--exit-minibuffer-frame) (exwm-workspace--exit): * exwm-xim.el (exwm-xim--exit): Observe connection status when deinitializing in order to support deinitializing when the connection breaks.
Diffstat (limited to 'exwm-manage.el')
-rw-r--r-- | exwm-manage.el | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/exwm-manage.el b/exwm-manage.el index c3d47f72259f..1adf66d42146 100644 --- a/exwm-manage.el +++ b/exwm-manage.el @@ -430,7 +430,9 @@ manager is shutting down." (exwm-workspace--update-workareas) (dolist (f exwm-workspace--list) (exwm-workspace--set-fullscreen f))) - (when (buffer-live-p buffer) + (when (and (buffer-live-p buffer) + ;; Invoked from `exwm-manage--exit' upon disconnection. + (slot-value exwm--connection 'connected)) (with-current-buffer buffer ;; Unmap the X window. (xcb:+request exwm--connection @@ -512,8 +514,11 @@ manager is shutting down." (defun exwm-manage--kill-buffer-query-function () "Run in `kill-buffer-query-functions'." - (exwm--log "id=#x%x; buffer=%s" exwm--id (current-buffer)) + (exwm--log "id=#x%x; buffer=%s" (or exwm--id 0) (current-buffer)) (catch 'return + (when (or (not exwm--connection) + (not (slot-value exwm--connection 'connected))) + (throw 'return t)) (when (or (not exwm--id) (xcb:+request-checked+request-check exwm--connection (make-instance 'xcb:ChangeWindowAttributes |