Quoting Brandon Allbery <
allbery.b@gmail.com>:
Daniel's solution has the potential for problems, because xmonad's main
loop isn't processing events while it's running. (This is a common problem
Can you suggest a way to manifest this problem? I tried a bunch of stuff (shift+insert,
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.)
--