
Quoting Brandon Allbery
Meh, right problem, wrong specifics. xmonad's main loop isn't running, so the problem manifests when another program opens a non-override_redirect window.
- the program may block waiting on xmonad to respond to ConfigureRequest-s, while xmonad is blocked on its output;
- a badly behaved program may map its window anyway, and you won't be able to do anything about it if it pops over the dmenu.
(I am a little surprised *dmenu* doesn't trigger #1, which makes me think it's either using override_redirect or it's case #2.)
I'm an X novice, so you'll have to spell out the conclusion a little more explicitly for me. Does this mean that spawning *some* program might cause problems, but dmenu happens not to? Or does it mean that even dmenu is unsafe? If even dmenu is unsafe, can you give a concrete sequence of things to do that should break things? A specific program to run, key- or mouse click-sequence to hit, or so on? ~d