[Xmonad] Tabbed layout, xinerama, strange crashing

Donald Bruce Stewart dons at cse.unsw.edu.au
Tue Jun 12 04:24:43 EDT 2007

> On Mon, 11 Jun 2007 06:15:30 -0700
> David Roundy <droundy at darcs.net> wrote:
> > On Mon, Jun 11, 2007 at 11:39:56AM +1000, Donald Bruce Stewart wrote:
> > > Looks like is should be using 'peek' instead of the partial
> > > function, 'focus'. I presume David will take care of this soon.
> > 
> > Any chance we can avoid exporting partial functions from StackSet?
> > It's not much use in terms of robustness to quickcheck that StackSet
> > behaves properly and then export functions that will kill xmonad if
> > used improperly.
> Yes, we ought to look through the functions in StackSet and evaluate
> whether the partial functions are worth keeping.  I defer to Don on
> this one, because it's his code.

I belive their only exported so QuickCheck works.

Any thoughts on how to separate the QC internals, from the export list?
> > Also nice would be the ability to catch exceptions in the X monad (as
> > discussed before).  It seems that xlib crashes when I try to find the
> > width of a string.  I'd enjoy not having to log in again when this
> > happens.
> The ability to catch exceptions would be nice, but it's hard to say how
> such a facility should work.  Do we roll back state on an exception?
> We have to be careful here because there are certain state components
> (like mapped, waitingUnmap) that bring dire consequences when lost.
> Furthermore, I think that catching errors in layouts is the wrong
> attitude: we want xmonad to crash in these early development stages
> to reveal bugs.
> For xmonad hackers, I suggest using a wrapper script that restarts
> xmonad when it returns with a non-zero exit code.
> > In general, stability seems to be the weakest point of xmonad at the
> > moment--contrary to the advertizing.
> I disagree with this statement.  In general, xmonad's core has been very
> stable.  All the crashes I've seen lately are due to buggy contrib
> modules.

And if we restrict layouts to pure functions, as we used to, we get
safety, at the cost of expressiveness.

The contrib modules aren't xmonad, after all, they're random, unaudited
patches. Hopefully they work, but they're not xmonad.

-- Don

More information about the Xmonad mailing list