GNU bug report logs - #38497
27.0.50; Frame is not rendered when frame-resize-pixelwise it 't

Previous Next

Package: emacs;

Reported by: 'Ihor Radchenko' <yantar92 <at> gmail.com>

Date: Thu, 5 Dec 2019 07:11:02 UTC

Severity: normal

Found in version 27.0.50

Done: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>

Bug is archived. No further changes may be made.

Full log


Message #113 received at 38497 <at> debbugs.gnu.org (full text, mbox):

From: Ihor Radchenko <yantar92 <at> gmail.com>
To: martin rudalics <rudalics <at> gmx.at>, 38497 <at> debbugs.gnu.org
Subject: Re: bug#38497: 27.0.50; Frame is not rendered when
 frame-resize-pixelwise it 't
Date: Mon, 16 Dec 2019 10:29:56 +0800
[Message part 1 (text/plain, inline)]
> With 'frame-resize-pixelwise' non-nil?

No, frame-resize-pixelwise had its default value (nil).

To avoid confusion, let me recall what I did to reproduce the redrawing issue:

1. Compile emacs with xft cairo and lucid
2. emacs -Q (frame-resize-pixelwise is nil by default)
3. Maximise emacs frame (without this, there is an artefact in the title
   bar, but emacs frame itself is redrawing)
4. M-x menu-bar-mode

> Why should removing the menu bar maximize the frame?  If anything, I'd
> expect the opposite.

I tested several more times. It's not really maximising, but the frame
size definitely changes (sometimes increases, sometimes decreases).
See the attached illustration.

> The title bar there looks normal to me, not doubled.  And how would
> you know in the first place that the title bar was not redrawn?

See the illustration.

>  >> 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
> This must be a misunderstanding.  Among others, it's one purpose of
> 'frame-resize-pixelwise' _non-nil_ to make the frame occupy all the
> space.

Note that in all the tests in that message I had frame-resize-pixelwise
nil. The frame occupied all the space in that scenario because I removed
the code responsible for setting the calculated frame size. 

Best,
Ihor

[redrawing.png (image/png, attachment)]
[Message part 3 (text/plain, inline)]

martin rudalics <rudalics <at> gmx.at> writes:

>  >> 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.
>
> With 'frame-resize-pixelwise' non-nil?
>
>  > Invoking M-x menu-bar-mode resizes the frame to actual maximised state
>  > without the gap and the redrawing works.
>
> Why should removing the menu bar maximize the frame?  If anything, I'd
> expect the opposite.
>
>  > 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).
>
> The title bar there looks normal to me, not doubled.  And how would
> you know in the first place that the title bar was not redrawn?
>
>  >> 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
>
> This must be a misunderstanding.  Among others, it's one purpose of
> 'frame-resize-pixelwise' _non-nil_ to make the frame occupy all the
> space.
>
>  > and M-x menu-bar-mode results in no redrawing.
>
> martin


This bug report was last modified 5 years and 139 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.