
On Fri, May 3, 2013 at 7:05 AM, Brandon Allbery
One more that just occurred to me: persistent ExtensibleState is stored within the layout so it can be passed on via mod-q, and I'm not sure what would happen to this state if you replace the layout with something not reachable via layoutHook. (This may not only affect persistence across restarts, but conceivably could result in anything using ExtensibleState using an unrelated copy of that state post-setLayout. I would have to trace through the ExtensibleState code to see if this is a problem, or if we hid it in the Layout wrapper or something so it might get copied over correctly.)
Hi Brandon & Eyal, ExtensibleState is a separate from the layout http://xmonad.org/xmonad-docs/xmonad/XMonad-Core.html#t:XState so whatever you do with setLayout shouldn't have an impact there. It's pretty likely that you won't maintain the results of a (setLayout $ Layout x) after a restart. An exception to that trend is if `x' has the same type as what you have in the layoutHook. In that case you'll have the new layout restored, instead of just getting the one specified in the layoutHook. Cheers, Adam