GNU bug report logs - #46827
Broken initial size of GTK3 frame

Previous Next

Package: emacs;

Reported by: martin rudalics <rudalics <at> gmx.at>

Date: Sun, 28 Feb 2021 09:32:01 UTC

Severity: normal

Tags: fixed

Fixed in version 28.1

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

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Juri Linkov <juri <at> linkov.net>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 46827 <at> debbugs.gnu.org
Subject: bug#46827: Broken initial size of GTK3 frame
Date: Fri, 14 May 2021 21:10:25 +0300
>> Accoring to window-total-height, the currently used rounding
>> in x_change_tab_bar_height corresponds to 'ceiling':
>>
>>        return make_fixnum (EQ (round, Qceiling)
>> 			  ? ((w->pixel_height + unit - 1) /unit)
>>
>> On a TTY where the frame line height is 1, this gives the correct result.
>> But not on a GUI where the frame line height is measured in pixels.
>>
>> When the argument 'round' of window-total-height is 'floor',
>> it uses the formula without subtracting 1 that works on a GUI too:
>>
>> 			  : (w->pixel_height / unit));
>>
>> This patch fixes this in x_change_tab_bar_height.  Do you think the same
>> fix should be applied to x_change_tool_bar_height as well?
>
> What does your patch fix?

There are no more oscillations between 1 and 2 on a GUI.

> With a sufficiently small default font this will still return a value > 1.

I use very small font, and the value is always 1.  Only when the tab bar
is wrapped, the value becomes 2.

> In either case, the height of the frame's inner rectangle plus those
> of internal tab, tool and menu bar should equal the height of the
> native rectangle in lines.  Did you check that?

I don't know how to check this.

> In my experience, there's no way to make column/line based variables and
> functions always DTRT on a GUI.  Code should avoid them.

Is it possible to avoid this when tab-bar-lines are calculated?




This bug report was last modified 4 years and 11 days ago.

Previous Next


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