Troubleshooting

Transient Windows

If you roll up a window that has mapped transients, mwm will automatically unmap the transients, but rizzle will do its best to remap the hidden transients when you unroll the window again. However, as the transients get unmapped, they will also get destroyed, and rizzle is not always able to recognise destroyed windows as transients, so it will end up 'forgetting' to remap them...

The way transients come and go seems to be somewhat unpredictable, and it also varies between operating system versions (or more probably the X server); I suspect this may involve obscure bugs, not just in rizzle, but maybe in X or mwm...

Obviously, I'm trying to avoid this happening if at all possible, but it's not easy to keep track of what's going on when transients come and go as they do, especially if the window ids sometimes become invalid in the process (and sometimes not, since you can never tell, with X being asynchronous...)

Fragile windows

Some applications don't like having their windows disappear without their say-so. For example, if you unmap and remap mwm's icon box, mwm will die on you! To avoid this happening to you, rizzle will refuse to roll up any window of class Mwm, and beep instead.

You can also disable rolling-up of individual window classes by using the isFragile resource. For example, if iMonkey has problems with windows disappearing (or if you just don't want iMonkey windows to be rolled up), add this line to your .Xdefaults (assuming the window class is IMonkey):

IMonkey*isFragile: true
If you find other common applications that have this problem, please let me know, so I can try and do something about it. If you really want to make things easier for me, you could run xprop on the offended window to get its resource and class name:
$ xprop | grep WM_CLASS
WM_CLASS(STRING) = "iconbox", "Mwm"
$
Within reason, of course... I don't want to have to release lots of 'bugfixes' for obscure applications that only one or two of your clients use. But if it is a particularly important and widely-used application (as mwm is), it makes sense to hard-code it so as not to annoy everybody who happens to forget to define the resource.