[xmonad] Comparison of "extensible window managers"

Wirt Wolff wirtwolff at gmail.com
Sun Sep 11 23:49:16 CEST 2011

Excerpts from adam vogt's message of Sun Sep 11 08:59:22 -0600 2011:
> 2011/9/6 Teika Kazura <teika at lavabit.com>:
> >
> > I have one question: the page you referred to says
> > "live hacking [in stumpwm] means you can hose your X session"
> >
> > It's correct, and I have done it several times in Sawfish, like
> > infinite loops. (I've never tried StumpWM.) But isn't it the same for
> > any of these WMs that if you have errors in your code, your WM can be
> > almost unusable, no? Or is it less likely in haskell?
> There are definitely some errors xmonad does not prevent: for example
> if you write layouts which for whatever reason call `sendMessage' or
> `refresh' it is easy to get an infinite loop. Perhaps that's why very
> little code in contrib does that.

Loops in haskell are very shocking once you've become used to type
checking protecting you from silly errors. Once I did a global replace
renaming some element in my xmonad.hs, not really paying attention to
the fact that I'd changed foo = foo' into foo = foo. Suddenly I found
myself at the console with `<<loop>>' my only clue to what had happened.

A second pair of eyes would probably have seen this quickly, but I ended
up building up my xmonad.hs piece by piece from `main = xmonad
defaultConfig' before I finally found my mistake.


More information about the xmonad mailing list