[xmonad] xmonad development (was: something in particular)

Norbert Zeh nzeh at cs.dal.ca
Mon Nov 7 22:42:19 CET 2011

Allen S. Rout [2011.11.07 1259 -0500]:
> So, in order to use your WM, I have to completely bathe in haskell,
> down to learning the ideosyncratic, haskell-only VC you guys have
> cooked up.
> I _really like_ xmonad.   I think it's a delightfully featureful and
> spare WM universe, and I'm feeling in better control of my desktop
> than I've been since I ditched CTWM.
> But insisting that new users be baptized into your church (or at
> least attend sunday school for a few months) is really bad for
> adoption.

Let me leave the issue with the out-of-date cabal package aside.  We agree on
that, and from what Brandon said, I understand that things may finally be moving
on that front.  Hopefully!

As for bathing in Haskell, I think there's a trade-off here.  What xmonad gives
you is the ability to essentially code up your own WM, exactly how you like it.
This is the benefit of using a full-blown programming language as the
configuration language.  It may seem idiosyncratic to you, but then try to
configure your window manager in C and it'll feel even worse.  At least Haskell
is very expressive and, for most situations, the xmonad core provides a pretty
good DSL that allows you to talk to the WM at the appropriate level of
abstraction.  The only other window manager I know that has *almost* the same
level of flexibility is awesome, but its documentation sucks and I take Haskell
over lua any time of the day.  The other end of the trade-off is using a
configuration language with a lower entry barrier, something XML-based as in
openbox or something simple and home-brewed as in i3.  This may be easier to use
but then does not allow you to explore completely new paradigms for window

Note that I'm only defending the general approach xmonad takes to window
management here.  I totally agree with you that the learning curve before being
able to utilize xmonad to its full potential is rather steep, and the lack of
up-to-date packages in standard distributions and on cabal only makes things
worse for the newcomer.


More information about the xmonad mailing list