Correctly Configure roots on monitor change
authorPhilippe Brochard <pbrochard@common-lisp.net>
Tue, 16 Oct 2012 07:46:22 +0000 (09:46 +0200)
committerPhilippe Brochard <pbrochard@common-lisp.net>
Tue, 16 Oct 2012 07:46:22 +0000 (09:46 +0200)
src/clfswm-internal.lisp
src/clfswm.lisp

index a584867..81c5e7e 100644 (file)
@@ -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*))))))
 
 
 
index c833ce2..7ae2f35 100644 (file)
 (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*)))
 
 
 (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 ()