Let me parse this for everyone, so they can understand my frustration. > > 0x28000a9: fallback configure (0, 18) w: 1012, h: 783
we received a configure notify BEFORE we had managed the window, so we blindly applied it. The numbers printed are the ones from the configure event, no tweaking. > 0x28000a9: before manage (0, 18) w: 1012, h: 783 this is the value of the window hints before we call the BlackboxWindow constructor. Again, no interference. > 0x28000a9: initial (0, 18) w: 1012, h: 783 this is the value of the window hints checked again by the constructor, still no touching on our part > 0x28000a9: after hints (0, 18) w: 1012, h: 783 we have read the wm_normal, motif, and other hints, no size changes occur here > 0x28000a9: sizes reflect the frame from now on > 0x28000a9: after upsize (0, 0) w: 1018, h: 812 we apply the window manager frame to the client > 0x28000a9: after gravity (0, 18) w: 1018, h: 812 we apply the window gravity to the frame > 0x28000a9: after configure (0, 18) w: 1018, h: 812 we call XMoveResizeWindow() using all of the settings from above > 0x28000a9: end of constructor (0, 18) w: 1018, h: 812 at this point we have checked for transience, applied any hints, etc > 0x28000a9: just before show (0, 18) w: 1018, h: 812 show() is what actually displays the managed window and frame > 0x28000a9: change request (0, 18) w: 1018, h: 812 we received a ConfigureRequest > 0x28000a9: normal hint (0, 18) w: 1018, h: 812 > 0x28000a9: normal hint (0, 18) w: 1018, h: 812 > we received new WM_NORMAL_HINTS As you can see, everything looks kosher. The window size is not what the user expects though.