Subject: Re: bug#28605: 26.0.60; Part of leftmost character hidden

From: martin rudalics <[email-masked]>
Date: Fri, 13 Oct 2017 14:46:51 +0200

> non-scaled:

In the unscaled version we get one ConfigureNotify event for the removal
and one for the re-addition as expected.  With the scaled version we get
two for each.  The first two (when you remove the scroll bar) each
increment the width by 18 pixels each, 36 pixels in sum.  Strange but OK.

The third one decrements the width as expected by 36 pixels and leaves
the height unchanged which is quite what we wanted.  But then the fourth
one increments the width back to where it was after the second one and
decrements the height.  Bad.

 > I don't observe that increase. The width of the frame after each
 > disable/enable cycle is unchanged as far as I can tell.

How comes?  The scaled version starts with

  (#<frame emacs@rpluim-ubuntu 0x13462d0> adjust-frame-size-1
	  (1458 1100 1458 1100)
	  (vertical-scroll-bars 3)))

and ends with

  (#<frame emacs@rpluim-ubuntu 0x13462d0> adjust-frame-size-1
	  (1494 998 1494 998)
	  (set-window-configuration 1))

while the unscaled version starts with

  (#<frame emacs@rpluim-ubuntu 0x13462d0> adjust-frame-size-1
	  (1386 1190 1386 1190)
	  (vertical-scroll-bars 3)))

and ends with

  (#<frame emacs@rpluim-ubuntu 0x13462d0> adjust-frame-size-1
	  (1386 1190 1386 1190)
	  (set-window-configuration 1))

So for the scaled version we have 1458x1100 -> 1494x998 while the
unscaled version returns to the initial value.  What do
‘frame-pixel-width’ and ‘frame-pixel-height’ return when called before,
in the middle and after toggling in the scaled version?  And maybe you
could also look into the values returned by ‘frame-edges’ with varying
arguments.  Maybe they reveal something interesting.

martin