v2: Initialize visible rect to window rect before calling WindowPosChanging: when a window is created, so without a previously visible rect, we would be using a 0 size visible rect.
It's hopefully the issue here as there is some XCreateWindow errors although I'm not sure why, XCreateWindow calls are always guarded against 0x0 sizes, and I don't reproduce the failures locally.