diff --git a/src/clfswm-internal.lisp b/src/clfswm-internal.lisp index a5848678c44a438a7bad64ec3a52023f7cf23157..81c5e7ede70439bc7f10056d76ff7d56ee4efca5 100644 --- a/src/clfswm-internal.lisp +++ b/src/clfswm-internal.lisp @@ -866,6 +866,9 @@ XINERAMA version 1.1 opcode: 150 (define-as-root frame x y w h))))) +(defun finish-configuring-root () + (ensure-at-least-one-root) + (setf (current-child) (first (frame-child (first (frame-child *root-frame*)))))) diff --git a/src/clfswm.lisp b/src/clfswm.lisp index c833ce2c90943b1a8615f2cd44485a4019aba804..7ae2f358f1a21fb16afb4782e5f803db5ab64a13 100644 --- a/src/clfswm.lisp +++ b/src/clfswm.lisp @@ -153,6 +153,7 @@ (define-handler main-mode :configure-notify (window) (when (child-equal-p window *root*) (place-frames-from-xinerama-infos) + (finish-configuring-root) (show-all-children) (call-hook *root-size-change*))) @@ -199,8 +200,7 @@ (defun default-init-hook () (place-frames-from-xinerama-infos) - (ensure-at-least-one-root) - (setf (current-child) (first (frame-child (first (frame-child *root-frame*)))))) + (finish-configuring-root)) (defun init-display ()