Same here. I never asked you but IIUC this means that creating the
first frame without menubar proceeds just as "smoothly" as with commit
24161683102 reverted. Right? Does it proceed just as smoothly with the
earlier gtkutil-reject-2024-10-01.diff used instead? Or can you observe
the correction by two pixels somehow?
The initial frame's size doesn't seem to change as it appears when I run:
./src/emacs -Q --eval "(setq default-frame-alist '((menu-bar-lines . 0)))"
The only visual glitch I can see is that the menu bar appears for an instant before disappearing.
I suppose you still see here the small frame first and
the resized one immediately afterwards. Right?
If you still have enough patience, I'd ask you to try next with the
attached patch gtkutil-frame.diff. It does not reject anything but also
does not pick up any sizes from delayed size changes.
Sure, no problem.
First frame with menu bar:
Frame size history of #<frame *Minibuf-1* - GNU Emacs at dwks 0x59e577a85750>
x_create_frame_1 (5), TS=80x25~>1280x875, NS=80x25~>1296x875, IS=80x25~>1296x875, MS=32x70 IH IV
gui_figure_window_size (5), TS=1280x875~>1280x1260, TC=80x25~>80x36, NS=1296x875~>1296x1260, IS=1296x875~>1296x1260, MS=32x70 IH IV
scroll-bar-width (3), NS=1296x1260~>1328x1260, IS=1296x1260~>1328x1260, MS=160x175
scroll-bar-height (3), MS=160x175
menu-bar-lines (2), MS=160x175
x_create_frame_2 (0), MS=160x175
xg_frame_set_char_size, invisible, PS=1328x1260, XS=1328x1260, DS=1328x1260
xg_frame_set_char_size (5), MS=32x70 IH IV
x_make_frame_visible
MapNotify, not hidden & not iconified, PS=1328x1260, DS=1328x1260
ConfigureNotify, PS=1328x1260, XS=1328x1260, DS=1328x1260
xg_frame_resized, unchanged, PS=1328x1260, XS=1328x1260
ConfigureNotify, PS=1328x1260, XS=1328x1258, DS=1328x1260
xg_frame_resized, changed, PS=1328x1260, XS=1328x1258
change_frame_size_1, delayed, PS=1328x1260, XS=1328x1258, DS=1328x1260
tool-bar-lines (2), MS=160x175
xg_frame_set_char_size, visible, PS=1328x1260, XS=1328x1260, DS=1328x1258
+values, PS=664x654, XS=664x696
ConfigureNotify, PS=1328x1260, XS=1328x1258, DS=1328x1258
xg_frame_resized, changed, PS=1328x1260, XS=1328x1258, DS=1328x1258
change_frame_size_1, delayed, PS=1328x1260, XS=1328x1258, DS=1328x1258
change_frame_size (5), TS=1280x1260~>1280x1258, TC=80x36~>80x35, NS=1328x1260~>1328x1258, IS=1328x1260~>1328x1258, MS=32x70 IH IV
set_window_configuration (4), MS=160x175 IH IV
First frame without menu bar:
Frame size history of #<frame *Minibuf-1* - GNU Emacs at dwks 0x63f23d459690>
x_create_frame_1 (5), TS=80x25~>1280x875, NS=80x25~>1296x875, IS=80x25~>1296x875, MS=32x70 IH IV
gui_figure_window_size (5), TS=1280x875~>1280x1260, TC=80x25~>80x36, NS=1296x875~>1296x1260, IS=1296x875~>1296x1260, MS=32x70 IH IV
scroll-bar-width (3), NS=1296x1260~>1328x1260, IS=1296x1260~>1328x1260, MS=160x175
scroll-bar-height (3), MS=160x175
menu-bar-lines (2), MS=160x175
x_create_frame_2 (0), MS=160x175
xg_frame_set_char_size, invisible, PS=1328x1260, XS=1328x1260, DS=1328x1260
xg_frame_set_char_size (5), MS=32x70 IH IV
x_make_frame_visible
MapNotify, not hidden & not iconified, PS=1328x1260, DS=1328x1260
ConfigureNotify, PS=1328x1260, XS=1328x1260, DS=1328x1260
xg_frame_resized, unchanged, PS=1328x1260, XS=1328x1260
menu-bar-lines (2), MS=160x175
xg_frame_set_char_size, visible, PS=1328x1260, XS=1328x1260, DS=1328x1260
+values, PS=664x655, XS=664x630
ConfigureNotify, PS=1328x1260, XS=1328x1308, DS=1328x1260
xg_frame_resized, changed, PS=1328x1260, XS=1328x1308
change_frame_size_1, delayed, PS=1328x1260, XS=1328x1308, DS=1328x1260
change_frame_size (5), TS=1280x1260~>1280x1308, TC=80x36~>80x37, NS=1328x1260~>1328x1308, IS=1328x1260~>1328x1308, MS=32x70 IH IV
tool-bar-lines (2), MS=160x175
xg_frame_set_char_size, visible, PS=1328x1308, XS=1328x1308
+values, PS=664x654, XS=664x695
ConfigureNotify, PS=1328x1308, XS=1328x1176
xg_frame_resized, changed, PS=1328x1308, XS=1328x1176
change_frame_size_1, delayed, PS=1328x1308, XS=1328x1176
change_frame_size (5), TS=1280x1308~>1280x1176, TC=80x37~>80x33, NS=1328x1308~>1328x1176, IS=1328x1308~>1328x1176, MS=32x70 IH IV
ConfigureNotify, PS=1328x1176, XS=1328x1292
xg_frame_resized, changed, PS=1328x1176, XS=1328x1292
change_frame_size_1, delayed, PS=1328x1176, XS=1328x1292
change_frame_size (5), TS=1280x1176~>1280x1292, TC=80x33~>80x36, NS=1328x1176~>1328x1292, IS=1328x1176~>1328x1292, MS=32x70 IH IV
set_window_configuration (4), MS=160x175 IH IV
Second frame with menu bar:
Frame size history of #<frame *Minibuf-1* 0x55cd2d33c8f0>
x_create_frame_1 (5), TS=80x25~>1280x875, NS=80x25~>1296x875, IS=80x25~>1296x875, MS=32x70 IH IV
gui_figure_window_size (5), TS=1280x875~>1280x1260, TC=80x25~>80x36, NS=1296x875~>1296x1260, IS=1296x875~>1296x1260, MS=32x70 IH IV
scroll-bar-width (3), NS=1296x1260~>1328x1260, IS=1296x1260~>1328x1260, MS=160x175
scroll-bar-height (3), MS=160x175
menu-bar-lines (2), MS=160x175
x_create_frame_2 (0), MS=160x175
xg_frame_set_char_size, invisible, PS=1328x1260, XS=1328x1260, DS=1328x1260
xg_frame_set_char_size (5), MS=32x70 IH IV
x_make_frame_visible
MapNotify, not hidden & not iconified, PS=1328x1260, DS=1328x1260
ConfigureNotify, PS=1328x1260, XS=400x340, DS=1328x1260
xg_frame_resized, changed, PS=1328x1260, XS=400x340
change_frame_size_1, delayed, PS=1328x1260, XS=400x340, DS=1328x1260
change_frame_size (5), TS=1280x1260~>352x340, TC=80x36~>22x9, NS=1328x1260~>400x340, IS=1328x1260~>400x340, MS=32x70 IH IV
tool-bar-lines (2), MS=160x175
xg_frame_set_char_size, visible, PS=400x340, XS=400x340
+values, PS=200x195, XS=200x236
ConfigureNotify, PS=400x340, XS=400x340
xg_frame_resized, unchanged, PS=400x340, XS=400x340
ConfigureNotify, PS=400x340, XS=400x374
xg_frame_resized, changed, PS=400x340, XS=400x374
change_frame_size_1, delayed, PS=400x340, XS=400x374
change_frame_size (5), TS=352x340~>352x374, TC=22x9~>22x10, NS=400x340~>400x374, IS=400x340~>400x374, MS=32x70 IH IV
set_window_configuration (4), MS=160x175 IH IV
Second frame without menu bar: