> Maybe a conversion problem. Does > > ew->core.width = (frame_resize_pixelwise > ? (Dimension) FRAME_PIXEL_WIDTH (f) > : pixel_width); > ew->core.height = (frame_resize_pixelwise > ? (Dimension) FRAME_PIXEL_HEIGHT (f) > : pixel_height); > > yield better results? It makes no difference. > ... If not, can you tell me the four values here > when it fails to redraw - that of FRAME_PIXEL_WIDTH (f), pixel_width, > FRAME_PIXEL_HEIGHT (f) and pixel_height. Not sure how to get those. Anyway, the problem does not seem to be related to the code above. > This one > > - XtNwidthInc, (XtArgVal) (frame_resize_pixelwise ? 1 : cw), > - XtNheightInc, (XtArgVal) (frame_resize_pixelwise ? 1 : ch), > + XtNwidthInc, (XtArgVal) (cw), > + XtNheightInc, (XtArgVal) (ch), > > is more mysterious. Why should 1 fail here? What happens when you do > > cw = frame_resize_pixelwise ? 1 : cw; > ch = frame_resize_pixelwise ? 1 : ch; > XtVaSetValues (wmshell, > XtNbaseWidth, (XtArgVal) base_width, > XtNbaseHeight, (XtArgVal) base_height, > XtNwidthInc, (XtArgVal) cw, > XtNheightInc, (XtArgVal) ch, > XtNminWidth, (XtArgVal) base_width, > XtNminHeight, (XtArgVal) base_height, > NULL); > > instead? Actually, this piece of code seems to be a more specific reason triggering the bug (see the relevant patch attached - that patch makes the bug disappear). I tried your suggestion (no idea how it is different from original code though). It makes no difference. A possible hint to why this code fails to resize the frame is that my WM resizes the frame as soon as it is created. It is not a gradual resizing with mouse, but rather instant resize to pre-calculated size (according to layout). I can sometimes even see the frame being created with much smaller size for a split second followed by resizing it to target size. Best, Ihor