
Hi all,
Sorry to keep you waiting, but while getting these changes together I
somehow managed to completely hose my xmonad twice! The first time I'll
write about later, but suffice it to say that it had nothing to do with the
runLayout changes. The second time... I'm still not sure what was going on,
but after rebuilding everything from scratch it... seems to be OK now. Of
course, it's always scary when something magically gets fixed without
knowing why, but hopefully things should be OK. Of course, if you
experience any problems, reports/patches/etc. welcome, and so on!
Don, if you can apply all these patches, that would be great. I could apply
the contrib patches myself, but of course the core patches and contrib
patches need to be applied all at the same time or else things will break.
A quick summary of what's going on here: the LayoutClass is getting a new
method, called runLayout. By default, runLayout just calls doLayout or
emptyLayout as appropriate. If you're writing a simple LayoutClass
instance, you don't need to worry about it; you can choose to implement
doLayout, or pureLayout, or whatever, just as before. However, if you are
writing code which *makes use of* a LayoutClass instance, you should *only*
call runLayout, handleMessage, and description: client code should no longer
call doLayout directly. If you do, anything which uses a non-default
runLayout (like PerWorkspace) will break when used in conjunction with your
code. For more information, see all the modules that were updated for
examples, and see the Haddock documentation for Core.hs: I added a bunch of
documentation which should hopefully make everything clear.
And yes, of course, this means that PerWorkspace now works with xinerama
setups!
Happy xmonading!
-Brent
--------------------------------
Tue Mar 11 12:07:27 EDT 2008 Brent Yorgey