Subject: Re: bug#38497: 27.0.50; Frame is not rendered when frame-resize-pixelwise it 't

From: Ihor Radchenko <[email-masked]>
Date: Sun, 15 Dec 2019 21:57:24 +0800

> You say yours is a tiling window manager: What happens when you manage
> to remove all windows but the Emacs window from display?  This should
> implicitly maximise the frame.  Does it redraw then?

If I do this, there is a gap below the emacs frame.
Invoking M-x menu-bar-mode resizes the frame to actual maximised state
without the gap and the redrawing works. However, the very bottom part
of the frame (that's where by title bar is located) is not being
redrawn. It's like all the frame canvas before resizing is shifted up as
much as the height of the menu-bar was without redrawing whatever was
below that size (see the attached).

> And what happens when you remove the entire
>
>    XtVaSetValues (wmshell,
> 		 XtNbaseWidth, (XtArgVal) base_width,
> 		 XtNbaseHeight, (XtArgVal) base_height,
> 		 XtNwidthInc, (XtArgVal) (frame_resize_pixelwise ? 1 : cw),
> 		 XtNheightInc, (XtArgVal) (frame_resize_pixelwise ? 1 : ch),
> 		 XtNminWidth, (XtArgVal) base_width,
> 		 XtNminHeight, (XtArgVal) base_height,
> 		 NULL);
>
> call?

When I remove the call, there is still no redrawing. Moreover, without
maximising the frame, when emacs frame is a single frame in a tile
layout, the frame occupies all the space as if frame-resize-pixelwise
was nil and M-x menu-bar-mode results in no redrawing.

Best,
Ihor

martin rudalics <[email-masked]> writes:

>  >>> Two additional things you could try: What happens when you use 0
>  >>> instead of 1 in the XtNwidthInc and XtNheightInc assignments like
>  >>>
>  >>> 		 XtNwidthInc, (XtArgVal) (frame_resize_pixelwise ? 0 : cw),
>  >>> 		 XtNheightInc, (XtArgVal) (frame_resize_pixelwise ? 0 : ch),
>  >>>
>  >>> And what happens when you skip these two assignments entirely when
>  >>> frame_resize_pixelwise is non-nil?
>  >>
>  >> Let me try and report back once I finish.
>  >
>  > I tried both. I do not see any difference. Still no redrawing.
>
> We are probably missing something all too obvious (for example, why
> scroll bars are apparently redrawn orderly).
>
> You say yours is a tiling window manager: What happens when you manage
> to remove all windows but the Emacs window from display?  This should
> implicitly maximise the frame.  Does it redraw then?
>
> And what happens when you remove the entire
>
>    XtVaSetValues (wmshell,
> 		 XtNbaseWidth, (XtArgVal) base_width,
> 		 XtNbaseHeight, (XtArgVal) base_height,
> 		 XtNwidthInc, (XtArgVal) (frame_resize_pixelwise ? 1 : cw),
> 		 XtNheightInc, (XtArgVal) (frame_resize_pixelwise ? 1 : ch),
> 		 XtNminWidth, (XtArgVal) base_width,
> 		 XtNminHeight, (XtArgVal) base_height,
> 		 NULL);
>
> call?
>
> martin