
sjanssen:
On Mon, 11 Jun 2007 06:15:30 -0700 David Roundy
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