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

From: Stephen Berman <[email-masked]>
Date: Thu, 14 Jul 2016 21:14:34 +0200

On Thu, 14 Jul 2016 19:33:41 +0200 martin rudalics <[email-masked]> wrote:

>>> ‘frame-height’ is not necessarily a reliable reflection of what you see
>>> on screen.
>>
>> Why not?
>
> Because of rounding.  Tool bar, menu bar and scroll bars do not have
> necessarily sizes that are multiples of a frame's default character
> size.  And often you're losing pixels when the frame gets maximized or
> ‘frame-resize-pixelwise’ is non-nil during resizing.
>
>> What's more reliable?
>
> Everything that counts in pixels like ‘frame-pixel-height’.

Thanks.

>>> What do you get with my modifications?
>>
>> On emacs-25 with -Q and frame-resize-pixelwise nil:
> [...]
>> Other buffer; frame pixel height: 608  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
>
> Not here.  I get 648 and 44 in both cases.
>
>> On emacs-25 with -Q frame-resize-pixelwise t:
>>
>> Emacs started; frame pixel height: 576  toolbar height: 53
> [...]
>> Final; frame pixel height: 666  toolbar height: 53
>
> So your frame has grown by 90 pixels.  Remarkable.  BTW setting
> ‘frame-inhibit-implied-resize’ to t would avoid that.

Ah, indeed.  I didn't know about that variable, thanks.

> The problem is not GTK specific.  Lucid and Motif behave similarly.  I

Interesting; I had suspected it was just a GTK issue.

> suppose that just enabling ‘tool-bar-mode’ is not sufficient to make a
> gnus tool bar once gnus has started.  Maybe this deficiency is inherent
> to ‘tool-bar-mode’ itself.  But it would be interesting to find out
> who's responsible for making such small (8 pixels in your, 35 pixels in
> my case) tool bars in the first place.

Indeed.

Steve Berman