
the checkDock part is just for identifying the dzen window. so what causes the redraw is essentially the fact that all windows are moved out of the way (by inserting a gap at the top) such that one can see the "ignored" window...
That's wrong, as I saw it. I tried using doIgnore on Pidgin window, and it just stayed above all other windows, without creating any gaps. Gaps are created by layouts, and doIgnore is exactly what excludes window from any layout.
I mentioned that there could be xmonad functions to do that, but if not, I almost sure you can find command line utilities for Xorg to move any window in/out of screen. They could find the window by one of the parameters returned by these commands (run in terminal and click desired window to see): xprop|grep CLASS xprop|grep ^WM_NAME
yeah the functions are there, but doIgnore removes the window from the stackset. therefore you cannot search the stackset and filter it by those properties anymore.
Then, as I said, you could try command-line tools, such as "wmctrl -r <WIN> -b add,hidden" should do this. A simple Google request might also help: http://www.google.com/search?client=ubuntu&channel=fs&q=linux+command+hide+window&ie=utf-8&oe=utf-8