Subject: Re: bug#23966: 25.1.50; Frame resizing due to tool bar + Gnus

From: Stephen Berman <[email-masked]>
Date: Thu, 14 Jul 2016 11:55:59 +0200

On Thu, 14 Jul 2016 11:01:39 +0200 martin rudalics <[email-masked]> wrote:

> ‘frame-height’ is not necessarily a reliable reflection of what you see
> on screen.

Why not?  What's more reliable?

>> When the tool bar was enabled in the Gnus Summary buffer, did you see it
>> displayed as I describe in the OP: an empty 8-pixel high strip?
>
> No.  I see a 35-pixel high strip.  With the following definitions
> adapted from yours
[...]
> and `eval-buffer' of these in an emacs -Q of the release version I get

I assume you mean from emacs-25?  With 24.5 I get "Symbol's function
definition is void: frame-geometry".

> Emacs started; frame pixel height: 648  toolbar height: 44
> Gnus started; frame pixel height: 648  toolbar height: 44
> Opening nnfolder server on archive...done
> No new newsgroups
> Checking new news...
> Reading active file via nnnil...done
> Checking new news...done
> No news is good news
> Opening nndoc server on /home/martin/tool-bar-Gnus-frame-bug...done
> Tool bar disabled; frame pixel height: 648  toolbar height: 0
> Entered Summary buffer; frame pixel height: 648  toolbar height: 0
> Tool bar enabled; frame pixel height: 657  toolbar height: 35
> Other buffer; frame pixel height: 648  toolbar height: 44
> Back to Summary buffer; frame pixel height: 657  toolbar height: 35
> Final; frame pixel height: 648  toolbar height: 44
> You can run the command ‘eval-buffer’ with M-x ev-b RET
> Final; frame pixel height: 648  toolbar height: 44
>
>
> So the "empty strips" here have a height of 35 pixels while the "normal"
> toolbar has 44 pixels.  BTW, before getting the "Tool bar enabled"
> message I briefly see some toolbar contents flashing and getting erased
> immediately thereafter.

I didn't consciously notice that before, but now that you mention it, I
do see that too.

> The entire frame height doesn't change here probably due to rounding and
> size hints.  However, when I set `frame-resize-pixelwise' to t it
> changes as follows:
>
>
> Emacs started; frame pixel height: 648  toolbar height: 44
> Gnus started; frame pixel height: 648  toolbar height: 44
> Opening nnfolder server on archive...done
> No new newsgroups
> Checking new news...
> Reading active file via nnnil...done
> Checking new news...done
> No news is good news
> Opening nndoc server on /home/martin/tool-bar-Gnus-frame-bug...done
> Tool bar disabled; frame pixel height: 648  toolbar height: 0
> Entered Summary buffer; frame pixel height: 648  toolbar height: 0
> Tool bar enabled; frame pixel height: 657  toolbar height: 35
> Other buffer; frame pixel height: 657  toolbar height: 44
> Back to Summary buffer; frame pixel height: 666  toolbar height: 35
> Final; frame pixel height: 666  toolbar height: 44
>
>
> So the pixel height of my frame has increased by 18 (2 times 9 pixels
> from the difference between 44 and 35).
>
> What do you get with my modifications?

On emacs-25 with -Q and frame-resize-pixelwise nil:

Emacs started; frame pixel height: 576  toolbar height: 53
Gnus started; frame pixel height: 576  toolbar height: 53
Reading /home/steve/.newsrc.eld...
Opening nnfolder server on archive...done
No new newsgroups
Checking new news...
Reading active file via nnnil...done
Reading active file from archive via nnfolder...done
Reading active file via nndraft...done
Checking new news...done
Opening nndoc server on /home/steve/tool-bar-Gnus-frame-bug...done
Tool bar disabled; frame pixel height: 576  toolbar height: 0
Entered Summary buffer; frame pixel height: 576  toolbar height: 0
Tool bar enabled; frame pixel height: 621  toolbar height: 8
Other buffer; frame pixel height: 608  toolbar height: 53
Back to Summary buffer; frame pixel height: 645  toolbar height: 8
Final; frame pixel height: 640  toolbar height: 53

On master with -Q and frame-resize-pixelwise nil the results were the
same except for the third to last line:

Other buffer; frame pixel height: 608  toolbar height: 45

On emacs-25 with -Q frame-resize-pixelwise t:

Emacs started; frame pixel height: 576  toolbar height: 53
Gnus started; frame pixel height: 576  toolbar height: 53
Reading /home/steve/.newsrc.eld...
Opening nnfolder server on archive...done
No new newsgroups
Checking new news...
Reading active file via nnnil...done
Reading active file from archive via nnfolder...done
Reading active file via nndraft...done
Checking new news...done
Opening nndoc server on /home/steve/tool-bar-Gnus-frame-bug...done
Tool bar disabled; frame pixel height: 576  toolbar height: 0
Entered Summary buffer; frame pixel height: 576  toolbar height: 0
Tool bar enabled; frame pixel height: 621  toolbar height: 8
Other buffer; frame pixel height: 621  toolbar height: 53
Back to Summary buffer; frame pixel height: 666  toolbar height: 8
Final; frame pixel height: 666  toolbar height: 53

On master with -Q and frame-resize-pixelwise t the results were the
same except for the last three lines:

Other buffer; frame pixel height: 621  toolbar height: 45
Back to Summary buffer; frame pixel height: 658  toolbar height: 8
Final; frame pixel height: 658  toolbar height: 53

Steve Berman