
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 management. 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. Cheers, Norbert