diff --git a/src/manager.scm b/src/manager.scm index 81feaa8..0451094 100644 --- a/src/manager.scm +++ b/src/manager.scm @@ -127,21 +127,17 @@ (type (property:type p))) (if (equal? type (intern-atom dpy "WM_PROTOCOLS" #f)) (let ((name (car (property:data p))) - (time (cadr (property:data p))) - (client (wm:current-client wm))) + (time (cadr (property:data p)))) (if (equal? name (intern-atom dpy "WM_TAKE_FOCUS" #f)) (begin (set-input-focus dpy main-window (revert-to parent) time) - (if (and client (eq? (manager-type split) - (wm:type wm))) - (handle-external-message wm exit - (list 'select-client client - time))) - )) + (send internal-out-channel + (list 'manager-focused time)))) (if (equal? name (intern-atom dpy "WM_DELETE_WINDOW" #f)) (if (null? (wm:clients wm)) ;; (destroy-wm wm) would dead-lock - (handle-external-message wm exit '(destroy-manager)))) + (handle-external-message wm exit '(destroy-manager)) + (bell dpy 100))) )))) ((destroy-window-event? xevent) (exit 'destroy))