[Xmonad] darcs patch: sketch of config/main inversion. (and 3 more)

David Roundy droundy at darcs.net
Wed Oct 31 17:56:19 EDT 2007

On Wed, Oct 31, 2007 at 01:53:17PM -0700, Don Stewart wrote:
> droundy:
> > Hi all,
> > 
> > Here's a somewhat cleaner version of the main/config inversion
> > patch.  I recommend applying this sooner, rather than later, if
> > we are going to make this change, as there are many small things
> > that need to be fixed, which can be more easily accomplished
> > collaboratively.
> > 
> > This set of patches only does the very crudest hacks.  But as we've
> > discussed on IRC, making xmonad available as a library would be a
> > Very Good Thing, and this is the only attempt we've gotten going
> > so far at getting this working.
> I think we need some sense of what remains to be fixed, what is broken,
> and the overall structure -- design first, code second.

What design problems are to be discussed? When we chatted about this on IRC
most of the discussion went onto how to make xmonad compile itself, which
really is a separate feature.

What remains to be fixed is the elimination of recursive imports from Main,
and that's pretty easy, just tedious:  we just need to add those things to
XConf, and modify code to grab it from there.

The other thing remaining to be fixed is to make cabal build
xmonad-the-library, but that's just straightforward config hacking.

Oh, and we need to get rid of the existential Layout type, which requires a
non-easy-to-fix recursive import, but that's a problem that I believe is
solved except that noone pays attention.  NewLayout doesn't require
existentials, and there's no reason why we shouldn't parametrize XState
with a layout type, which will eliminate the other user of Layout (not
counting SwitchTrans or Combo).  Since SwitchTrans and Combo don't
currently serialize, we won't be losing anything.
David Roundy
Department of Physics
Oregon State University

More information about the Xmonad mailing list