unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
To: Tassilo Horn <tsdh@gnu.org>
Cc: Garjola Dindi <garjola@garjola.net>, emacs-devel@gnu.org
Subject: Re: Proposing changes to adjust_frame_size
Date: Sun, 16 May 2021 10:29:34 +0200	[thread overview]
Message-ID: <65f5a80d-727e-1768-6814-d98a9c0f7f68@gmx.at> (raw)
In-Reply-To: <87y2cjm4ew.fsf@gnu.org>

 > With --load repro.el the initial frame has:
 >
 > --8<---------------cut here---------------start------------->8---
 > Frame size history of #<frame *scratch* - GNU Emacs at thinkpad-t440p 0x555ace1cfc60>
 > x_create_frame_1 (5), TS=80x25~>640x525, NS=80x25~>656x525, IS=80x25~>656x525, MS=16x42 IH IV
 > gui_figure_window_size (5), TS=640x525~>640x756, TC=80x25~>80x36, NS=656x525~>656x756, IS=656x525~>656x756, MS=16x42 IH IV
 > scroll-bar-width (3), NS=656x756~>672x756, IS=656x756~>672x756, MS=80x105

16 pixels for the scroll bar, we don't know yet that it will be turned
off.

 > scroll-bar-height (3), MS=80x105
 > menu-bar-lines (2), MS=80x105
 > x_create_frame_2 (0), MS=80x105
 > xg_frame_set_char_size, invisible, PS=672x756, XS=672x756, DS=672x756
 > xg_frame_set_char_size (5), MS=16x42 IH IV
 > MapNotify, not hidden & not iconified, PS=672x756, DS=672x756
 > ConfigureNotify, PS=672x756, XS=672x756, DS=672x756

This was a ConfigureNotify for the frame size we asked for.  We don't
pass it on to change_frame_size since it's the size we have set already.

 > xg_frame_resized, unchanged, PS=672x756, XS=672x756
 > ConfigureNotify, PS=672x756, XS=1594x851, DS=672x756

And this was a ConfigureNotify for the frame size the WM allots to us.
This time it gives you the entire display - 1594x851 native pixels,
right?.

 > xg_frame_resized, changed, PS=672x756, XS=1594x851
 > change_frame_size_1, delayed, PS=672x756, XS=1594x851, DS=672x756
 > change_frame_size (5), TS=640x756~>1562x851, TC=80x36~>195x40, NS=672x756~>1594x851, IS=672x756~>1594x851, MS=16x42 IH IV

Here Emacs should have dealt with the size we got from the WM resulting
in 195x40 characters.

 > tool-bar-lines (2), MS=80x105 IH IV
 > menu-bar-lines (2), MS=80x105 IH IV
 > vertical-scroll-bars (3), TS=1562x851~>1578x851, TC=195x40~>197x40, MS=80x105 IH IV

Here we presumably processed the removal of the various bars.

 > size (1), TS=1578x851~>720x1050, TC=197x40~>90x50, NS=1594x851~>736x1050, IS=1594x851~>736x1050, MS=80x105

And here the 90x50 characters size request from `default-frame-alist'
kicked in.

 > xg_frame_set_char_size, visible, PS=1594x851, XS=736x1050, DS=736x1050
 > ConfigureNotify, PS=1594x851, XS=1594x878, DS=736x1050

Here we got a ConfigureNotify of 1594x878 native pixels.  These are 17
pixels more than before, probably from the recovered menu bar pixels
(leaving the outer frame size unchanged).

 > xg_frame_resized, changed, PS=1594x851, XS=1594x878
 > change_frame_size_1, delayed, PS=1594x851, XS=1594x878, DS=736x1050
 > change_frame_size (5), TS=1578x851~>1578x878, TC=197x40~>197x41, NS=1594x851~>1594x878, IS=1594x851~>1594x878, MS=16x42 IH IV

And here we processed the ConfigureNotify, resulting in 197x41
characters.

 > --8<---------------cut here---------------end--------------->8---

The problem with this history is that the focus/resize is somewhere
processed in it but I cannot tell where.  I suppose that at the time the
1594x878 pixels appear in the history, everything looks good, that is
the menu bar has disappeared probably after the frame has got focus.

 >> After that do
 >>
 >> (setq frame-size-history '(100))
 >>
 >> run C-x 5 2 and again post what `frame--size-history' returns.
 >
 > --8<---------------cut here---------------start------------->8---
 > Frame size history of #<frame *scratch* 0x555ace358480>
 > x_create_frame_1 (5), TS=80x25~>640x525, NS=80x25~>656x525, IS=80x25~>656x525, MS=16x42 IH IV
 > gui_figure_window_size (5), TS=640x525~>720x1050, TC=80x25~>90x50, NS=656x525~>736x1050, IS=656x525~>736x1050, MS=16x42 IH IV
 > scroll-bar-width (3), NS=736x1050~>752x1050, IS=736x1050~>752x1050, MS=80x105

16 pixels for the scroll bar with `scroll-bar-mode' turned off?  Looks
silly and is probably the cause of the "scrollbar which won't vanish
except by M-x scroll-bar-mode RET twice".

 > scroll-bar-height (3), MS=80x105
 > x_create_frame_2 (0), MS=80x105
 > xg_frame_set_char_size, invisible, PS=752x1050, XS=752x1050, DS=752x1050
 > xg_frame_set_char_size (5), MS=16x42 IH IV
 > x_make_frame_visible
 > MapNotify, not hidden & not iconified, PS=752x1050, DS=752x1050
 > ConfigureNotify, PS=752x1050, XS=752x1050, DS=752x1050
 > xg_frame_resized, unchanged, PS=752x1050, XS=752x1050
 > ConfigureNotify, PS=752x1050, XS=794x878, DS=752x1050
 > xg_frame_resized, changed, PS=752x1050, XS=794x878
 > change_frame_size_1, delayed, PS=752x1050, XS=794x878, DS=752x1050
 > change_frame_size (5), TS=720x1050~>762x878, TC=90x50~>95x41, NS=752x1050~>794x878, IS=752x1050~>794x878, MS=16x42 IH IV

This looks normal again just that I don't have any idea where this

 > set_window_configuration (4), MS=80x105 IH IV

comes from.

 > --8<---------------cut here---------------end--------------->8---
 >
 > And now the same with the repro.el where the default-frame-alist setting
 > is commented out, and thereby it works all fine, i.e., the initial frame
 > has tool/menu/scrollbars disabled and the second frame has, too.
 >
 > Initial frame:
 >
 > --8<---------------cut here---------------start------------->8---
 > Frame size history of #<frame *scratch* - GNU Emacs at thinkpad-t440p 0x55dd691fa0c0>
 > x_create_frame_1 (5), TS=80x25~>640x525, NS=80x25~>656x525, IS=80x25~>656x525, MS=16x42 IH IV
 > gui_figure_window_size (5), TS=640x525~>640x756, TC=80x25~>80x36, NS=656x525~>656x756, IS=656x525~>656x756, MS=16x42 IH IV
 > scroll-bar-width (3), NS=656x756~>672x756, IS=656x756~>672x756, MS=80x105
 > scroll-bar-height (3), MS=80x105
 > menu-bar-lines (2), MS=80x105
 > x_create_frame_2 (0), MS=80x105
 > xg_frame_set_char_size, invisible, PS=672x756, XS=672x756, DS=672x756
 > xg_frame_set_char_size (5), MS=16x42 IH IV
 > MapNotify, not hidden & not iconified, PS=672x756, DS=672x756
 > ConfigureNotify, PS=672x756, XS=672x756, DS=672x756
 > xg_frame_resized, unchanged, PS=672x756, XS=672x756
 > ConfigureNotify, PS=672x756, XS=1594x851, DS=672x756
 > xg_frame_resized, changed, PS=672x756, XS=1594x851
 > change_frame_size_1, delayed, PS=672x756, XS=1594x851, DS=672x756
 > change_frame_size (5), TS=640x756~>1562x851, TC=80x36~>195x40, NS=672x756~>1594x851, IS=672x756~>1594x851, MS=16x42 IH IV
 > tool-bar-lines (2), MS=80x105 IH IV
 > menu-bar-lines (2), MS=80x105 IH IV
 > vertical-scroll-bars (3), TS=1562x851~>1578x851, TC=195x40~>197x40, MS=80x105 IH IV

No 90x50 request here.

 > ConfigureNotify, PS=1594x851, XS=1594x878
 > xg_frame_resized, changed, PS=1594x851, XS=1594x878
 > change_frame_size_1, delayed, PS=1594x851, XS=1594x878
 > change_frame_size (5), TS=1578x851~>1578x878, TC=197x40~>197x41, NS=1594x851~>1594x878, IS=1594x851~>1594x878, MS=16x42 IH IV

And everything looks like above.

 > --8<---------------cut here---------------end--------------->8---

 >> Is this behavior new or did it already occur in Emacs 27?
 >
 > Yes, with my repro.el containing the `default-frame-alist' setting, the
 > initial frame has a menubar (until resize/focus), and the new frame
 > after C-x 5 2 has a scrollbar.

And with Emacs 27 the initial frame did not have a menu bar initially
and the new frame after C-x 5 2 did not have a scroll bar initially.
Right?

Did my latest commit (c18403302df3f07a7f94c3984d65b808fb40e8c1) in this
area change anything in this regard?

martin



  reply	other threads:[~2021-05-16  8:29 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-25 17:11 Proposing changes to adjust_frame_size martin rudalics
2021-04-27  8:22 ` martin rudalics
2021-04-27 14:16   ` Yuuki Harano
2021-05-02  8:46     ` martin rudalics
2021-05-02 11:21       ` Alan Third
2021-05-02 16:17         ` martin rudalics
2021-05-05  8:51       ` martin rudalics
2021-05-05 10:47         ` Yuuki Harano
2021-05-05 11:24           ` martin rudalics
2021-05-05 14:07             ` Yuuki Harano
2021-05-05 15:01               ` martin rudalics
2021-05-05 16:45                 ` martin rudalics
2021-05-05 18:54                   ` Tassilo Horn
2021-05-06  7:44                     ` martin rudalics
2021-05-06  7:59                       ` Tassilo Horn
2021-05-06  8:39                         ` martin rudalics
2021-05-06  8:49                           ` Tassilo Horn
2021-05-06 12:10                             ` martin rudalics
2021-05-06 12:31                               ` Tassilo Horn
2021-05-06 14:10                                 ` martin rudalics
2021-05-06 14:47                                   ` Tassilo Horn
2021-05-07  8:03                                     ` martin rudalics
2021-05-08  7:02                                       ` Tassilo Horn
2021-05-08  7:16                                         ` martin rudalics
2021-05-08 14:03                                           ` Tassilo Horn
2021-05-08 15:17                                             ` martin rudalics
2021-05-08 20:32                                               ` Tassilo Horn
2021-05-09  8:41                                                 ` martin rudalics
2021-05-09 10:09                                                   ` Garjola Dindi
2021-05-09 10:12                                                   ` Garjola Dindi
2021-05-09 18:48                                                   ` Tassilo Horn
2021-05-10  8:25                                                     ` martin rudalics
2021-05-10 12:27                                                       ` martin rudalics
2021-05-10 19:05                                                         ` Tassilo Horn
2021-05-10 19:21                                                           ` martin rudalics
2021-05-10 19:28                                                             ` Tassilo Horn
2021-05-11  8:29                                                               ` martin rudalics
2021-05-11  9:25                                                                 ` Tassilo Horn
2021-05-12  8:44                                                                   ` martin rudalics
2021-05-12 14:53                                                                     ` Tassilo Horn
2021-05-12 16:40                                                                       ` martin rudalics
2021-05-12 19:06                                                                         ` Tassilo Horn
2021-05-13  7:55                                                                           ` martin rudalics
2021-05-13  8:08                                                                             ` Tassilo Horn
2021-05-16  8:29                                                                               ` martin rudalics [this message]
2021-05-16  8:33                                                                                 ` Tassilo Horn
2021-05-16  9:14                                                                                   ` martin rudalics
2021-05-16  9:16                                                                                     ` Tassilo Horn
2021-05-16 12:24                                                                                       ` martin rudalics
2021-05-16 19:08                                                                                         ` Tassilo Horn
2021-05-17  7:33                                                                                           ` martin rudalics
2021-05-06 14:41                   ` Yuuki Harano
2021-05-09  9:32                     ` Yuuki Harano
2021-05-09 13:47                       ` martin rudalics
2021-05-09 15:30                         ` Yuuki Harano
2021-05-10  8:24                           ` martin rudalics
2021-05-10 13:18                             ` Yuuki Harano
2021-05-10 14:16                               ` martin rudalics
2021-05-10 15:41                                 ` Yuuki Harano
2021-05-10 19:20                                   ` martin rudalics
2021-05-11 14:32                                     ` Yuuki Harano
2021-05-12  8:47                                       ` martin rudalics
2021-05-13  8:48                                         ` Garjola Dindi
2021-05-01 18:59 ` Alan Third
2021-05-02  7:38   ` martin rudalics

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=65f5a80d-727e-1768-6814-d98a9c0f7f68@gmx.at \
    --to=rudalics@gmx.at \
    --cc=emacs-devel@gnu.org \
    --cc=garjola@garjola.net \
    --cc=tsdh@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).