[xmonad] Re: Config File Format
Braden.Shepherdson at gmail.com
Fri May 16 11:57:31 EDT 2008
First, I believe there's a problem with the quoting in David's post; he
appears not to agree with me after all. Hopefully not too much confusion
To elaborate a little further on the idea for PlainConfig. First, it
works generally as Joachim described; a minimalist xmonad.hs that can be
precompiled, and it reads the config file (~/.xmonad/xmonad.conf in this
case) to construct the XConf, rather than using values from xmonad.hs.
I see the argument about not fragmenting our configuration into many
languages and forms, it would be too confusing. However, PlainConfig and
xmonad.hs aren't going to coexist on one user's system at once. The
former is extremely simple (key=value file) in form, and corresponds
directly to familiar parts of xmonad.hs files.
For a user who comes to xmonad, the PlainConfig file is a much lower
learning and software dependency curve for him to climb at first. If he
later wants more power than PlainConfig can provide, he should be able
to use a planned tool for PlainConfig, that would "compile" the plain
text xmonad.conf into an equivalent xmonad.hs file. That makes the
transition to using an xmonad.hs file smoother, and the software demands
are the same as they are now to starting with xmonad.
As a practical example, I helped a friend install xmonad last weekend.
The process went like this:
1) Install Ubuntu 8.04's GHC 6.8.2 package.
2) Grab the 0.7 source for core and contrib.
3) Grab X11 source and compile that.
4) Try to compile xmonad but it needs mtl.
5) Download and install mtl.
6) Finally compile xmonad.
I knew what I was doing and it still took far longer than it should
have. Not a good evangelism experience, and I'm fortunate it didn't put
him off. (He likes xmonad, but thinks it's responsible for a problem
he's having with a couple of apps, I'm looking into it.)
In retrospect, the xmonad-0.7 packages from 8.04 might have been a
better plan. I'm not sure if they depend on mtl or not, so there still
might have been that manual step to get to xmonad.hs compilation.
I'm not going to become the next arossato if the consensus goes against
using PlainConfig. I think it's a good idea, but I respect the views of
the other devs, and if this isn't a direction we want to go in, I won't
storm off. I'm just of the opinion that this is a good idea, and I want
to see it happen.
More information about the xmonad