[xmonad] Re: Config File Format

Braden Shepherdson 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 
will arise.

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.

Braden Shepherdson

More information about the xmonad mailing list