In order to make dockapps that work in several wm:s
(such as kahakai) you need to be able to set
initial_state for a window to WithdrawnState.
I know this is expressly invalid according to the X
protocol docs, but if you add the Xutil.Withdrawn state
as a valid state on row 44 in file Xlib/xobject/iccm.py
(in the WMHints struct) it works fine.
The C Xlib implementation seems not to check that the
initial state is valid, and this is used by some wm:s,
for some inexplicable reason.