unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#48809: 28.0.50; Missing Lucid/GTK2 graphical elements on tiling WM
@ 2021-06-03 12:51 Basil L. Contovounesios
  2021-06-04  9:17 ` martin rudalics
  0 siblings, 1 reply; 6+ messages in thread
From: Basil L. Contovounesios @ 2021-06-03 12:51 UTC (permalink / raw)
  To: 48809

[-- Attachment #1: Type: text/plain, Size: 468 bytes --]

Further to the tangent in bug#48229, the menu, tool, and scroll bars are
sometimes not drawn when creating new Lucid/GTK2 frames under the tiling
WM Xmonad.  The missing elements reappear after the affected frames are
resized.

I cannot reproduce any of these issues with GTK3/PGTK, but the Lucid
behaviour is present since at least Emacs 24.5.1 (I don't have old GTK2
builds at hand).  Affected Emacs 28 configurations follow my signature.

With Lucid:

0. emacs -Q


[-- Attachment #2: Lucid left scroll bar 1 frame --]
[-- Type: image/png, Size: 9927 bytes --]

[-- Attachment #3: Type: text/plain, Size: 13 bytes --]


1. C-x 5 2


[-- Attachment #4: Lucid left scroll bar 2 frames --]
[-- Type: image/png, Size: 14156 bytes --]

[-- Attachment #5: Type: text/plain, Size: 141 bytes --]


Note that the unselected frame on the right has no scroll bar (you can
see part of the desktop background in its place).

2. Repeat step 1


[-- Attachment #6: Lucid left scroll bar 3 frames --]
[-- Type: image/png, Size: 18808 bytes --]

[-- Attachment #7: Type: text/plain, Size: 167 bytes --]


This time the menu bar of one of the unselected frames is not drawn.

---

With Lucid and scroll bars on the right:

0. emacs -Q
1. (set-scroll-bar-mode 'right) C-j


[-- Attachment #8: Lucid right scroll bar 1 frame --]
[-- Type: image/png, Size: 9701 bytes --]

[-- Attachment #9: Type: text/plain, Size: 13 bytes --]


2. C-x 5 2


[-- Attachment #10: Lucid right scroll bar 2 frames --]
[-- Type: image/png, Size: 12191 bytes --]

[-- Attachment #11: Type: text/plain, Size: 61 bytes --]


This time the scroll bars are all there.

3. Repeat step 2


[-- Attachment #12: Lucid right scroll bar 3 frames --]
[-- Type: image/png, Size: 21305 bytes --]

[-- Attachment #13: Type: text/plain, Size: 96 bytes --]


But again there is no menu bar in one of the unselected frames.

---

With GTK2:

0. emacs -Q


[-- Attachment #14: GTK2 right scroll bar 1 frame --]
[-- Type: image/png, Size: 10201 bytes --]

[-- Attachment #15: Type: text/plain, Size: 13 bytes --]


1. C-x 5 2


[-- Attachment #16: GTK2 right scroll bar 2 frames --]
[-- Type: image/png, Size: 12728 bytes --]

[-- Attachment #17: Type: text/plain, Size: 50 bytes --]


Here the tool bar is missing.

2. Repeat step 1


[-- Attachment #18: GTK2 right scroll bar 3 frames --]
[-- Type: image/png, Size: 23040 bytes --]

[-- Attachment #19: Type: text/plain, Size: 140 bytes --]


Now both the menu and tool bars are missing.

---

With GTK2 and scroll bars on the left:

0. emacs -Q
1. (set-scroll-bar-mode 'left) C-j


[-- Attachment #20: GTK2 left scroll bar 1 frame --]
[-- Type: image/png, Size: 9710 bytes --]

[-- Attachment #21: Type: text/plain, Size: 13 bytes --]


2. C-x 5 2


[-- Attachment #22: GTK2 left scroll bar 2 frames --]
[-- Type: image/png, Size: 17325 bytes --]

[-- Attachment #23: Type: text/plain, Size: 67 bytes --]


Here both the tool and scroll bar are missing.

3. Repeat step 2


[-- Attachment #24: GTK2 left scroll bar 3 frames --]
[-- Type: image/png, Size: 25742 bytes --]

[-- Attachment #25: Type: text/plain, Size: 1826 bytes --]


Again both the menu and tool bars are missing.

-- 
Basil

In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw3d scroll bars)
 of 2021-06-03 built on tia
Repository revision: 089e0c4c55dcf72f9cf2f6f04b8a52fc7355499c
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: Debian GNU/Linux 11 (bullseye)

Configured using:
 'configure 'CC=ccache gcc' 'CFLAGS=-Og -ggdb' --config-cache
 --prefix=/home/blc/.local --enable-checking=structs
 --with-x-toolkit=lucid --with-file-notification=yes --with-x'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS
X11 XAW3D XDBE XIM XPM LUCID ZLIB

In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 2.24.33, cairo version 1.16.0)
 of 2021-06-03 built on tia
Repository revision: 089e0c4c55dcf72f9cf2f6f04b8a52fc7355499c
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: Debian GNU/Linux 11 (bullseye)

Configured using:
 'configure 'CC=ccache gcc' 'CFLAGS=-O2 -march=native' --config-cache
 --prefix=/home/blc/.local --program-suffix=-gtk2
 --enable-checking=structs --with-file-notification=yes
 --with-x-toolkit=gtk2 --with-x'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS
X11 XDBE XIM XPM GTK2 ZLIB

Important settings:
  value of $LANG: en_IE.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#48809: 28.0.50; Missing Lucid/GTK2 graphical elements on tiling WM
  2021-06-03 12:51 bug#48809: 28.0.50; Missing Lucid/GTK2 graphical elements on tiling WM Basil L. Contovounesios
@ 2021-06-04  9:17 ` martin rudalics
  2021-06-11 12:02   ` Basil L. Contovounesios
  0 siblings, 1 reply; 6+ messages in thread
From: martin rudalics @ 2021-06-04  9:17 UTC (permalink / raw)
  To: Basil L. Contovounesios, 48809

 > Further to the tangent in bug#48229, the menu, tool, and scroll bars are
 > sometimes not drawn when creating new Lucid/GTK2 frames under the tiling
 > WM Xmonad.  The missing elements reappear after the affected frames are
 > resized.
 >
 > I cannot reproduce any of these issues with GTK3/PGTK, but the Lucid
 > behaviour is present since at least Emacs 24.5.1 (I don't have old GTK2
 > builds at hand).  Affected Emacs 28 configurations follow my signature.

Thanks.  The only thing that is evident from your examples is that only
toolkit elements are affected.  Elements Emacs draws itself are not
missing in your examples.  I suppose the behavior you see happens
because Xmonad rejects a first size proposal of Emacs for these elements
and does not draw them, notifies Emacs that it wants different sizes for
these elements and that notification gets lost - somehow and at least
sometimes.  I have no good explanation why things work with GTK3 and not
with GTK2 though.  Are all behaviors you reported reliably reproducible?

One thing I'd like to exclude is that this is yet another instance of
Tom Gillespie's observation that Emacs does not play well with window
managers that do not set _NET_WM_STATE.  x_get_current_wm_state
apparently fails on such systems and we probably never (or at least not
always) get a not_hidden frame in the MapNotify case and have to wait
for a ConfigureNotify instead (which your remark about the reappearance
of missing elements after resizing would confirm).

To check this please do (setq frame-size-history '(100)) and proceed
with some of your broken behaviors.  I'd be interested if when you then
do (frame--size-history) and look into the *frame-size-history* buffer
you can see

"MapNotify, not hidden & not iconified"

entries.  Alternatively, you could set a watchpoint at xterm.c's

           bool not_hidden = x_get_current_wm_state (f, event->xmap.window, &value, &sticky);

and see whether a value of true is ever returned.

One thing you could try is to change

       if (v == 1 && f->visible != 1)
	redisplay_other_windows ();

to

       if (v == 1)
	redisplay_other_windows ();

in frame.h's SET_FRAME_VISIBLE so maybe Emacs would send the modified
elements (modified because the WM changed their size to something Emacs
didn't ask for) again.  Honestly, I have no hope that this would help.

martin





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#48809: 28.0.50; Missing Lucid/GTK2 graphical elements on tiling WM
  2021-06-04  9:17 ` martin rudalics
@ 2021-06-11 12:02   ` Basil L. Contovounesios
  2021-06-11 16:40     ` martin rudalics
  0 siblings, 1 reply; 6+ messages in thread
From: Basil L. Contovounesios @ 2021-06-11 12:02 UTC (permalink / raw)
  To: martin rudalics; +Cc: 48809

[-- Attachment #1: Type: text/plain, Size: 2240 bytes --]

martin rudalics <rudalics@gmx.at> writes:

>> Further to the tangent in bug#48229, the menu, tool, and scroll bars are
>> sometimes not drawn when creating new Lucid/GTK2 frames under the tiling
>> WM Xmonad.  The missing elements reappear after the affected frames are
>> resized.
>>
>> I cannot reproduce any of these issues with GTK3/PGTK, but the Lucid
>> behaviour is present since at least Emacs 24.5.1 (I don't have old GTK2
>> builds at hand).  Affected Emacs 28 configurations follow my signature.
>
> Thanks.  The only thing that is evident from your examples is that only
> toolkit elements are affected.  Elements Emacs draws itself are not
> missing in your examples.  I suppose the behavior you see happens
> because Xmonad rejects a first size proposal of Emacs for these elements
> and does not draw them, notifies Emacs that it wants different sizes for
> these elements and that notification gets lost - somehow and at least
> sometimes.  I have no good explanation why things work with GTK3 and not
> with GTK2 though.  Are all behaviors you reported reliably reproducible?

Yes, 100% reliable/deterministic AFAICT, at least in my current setup.

> One thing I'd like to exclude is that this is yet another instance of
> Tom Gillespie's observation that Emacs does not play well with window
> managers that do not set _NET_WM_STATE.  x_get_current_wm_state
> apparently fails on such systems and we probably never (or at least not
> always) get a not_hidden frame in the MapNotify case and have to wait
> for a ConfigureNotify instead (which your remark about the reappearance
> of missing elements after resizing would confirm).
>
> To check this please do (setq frame-size-history '(100)) and proceed
> with some of your broken behaviors.  I'd be interested if when you then
> do (frame--size-history) and look into the *frame-size-history* buffer
> you can see
>
> "MapNotify, not hidden & not iconified"

Correct:

0. emacs -Q
1. (setq frame-size-history '(100)) C-j
2. C-x 5 2
   [The left scroll bar of the unselected frame is now missing.]
3. (progn (frame--size-history)
          (pop-to-buffer-same-window "*frame-size-history*"))
   C-x C-e

This gives the following with Lucid, GTK2, and GTK3, respectively:


[-- Attachment #2: Lucid frame size history --]
[-- Type: text/plain, Size: 2124 bytes --]

Frame size history of #<frame *scratch* 0x55fcc2910a78>
x_create_frame_1 (5), TS=80x25~>720x450, NS=80x25~>738x452, IS=80x25~>736x450, MS=18x36 IH IV
tool-bar-lines (1), NS=738x452~>738x470, MS=90x90
gui_figure_window_size (5), TS=720x450~>720x648, TC=80x25~>80x36, NS=738x470~>738x686, IS=736x450~>736x648, MS=18x36 IH IV
update_from_various_frame_slots, PS=738x686, XS=738x686
set_frame_size
EmacsFrameRealize
EmacsFrameResize, PS=738x686, XS=738x686
change_frame_size_1, delayed, PS=738x686, XS=738x686
scroll-bar-width (3), NS=738x686~>754x686, IS=736x648~>752x648, MS=90x90
scroll-bar-height (3), MS=90x90
EmacsFrameResize, PS=754x686, XS=738x661, DS=738x686
change_frame_size_1, delayed, PS=754x686, XS=738x661, DS=738x686
menu-bar-lines (2), MS=90x90
EmacsFrameResize, PS=754x686, XS=738x661, DS=738x661
change_frame_size_1, delayed, PS=754x686, XS=738x661, DS=738x661
EmacsFrameResize, PS=754x686, XS=738x661, DS=738x661
change_frame_size_1, delayed, PS=754x686, XS=738x661, DS=738x661
x_create_frame_2 (0), MS=90x90
x_set_window_size_1, invisible, PS=754x686, XS=754x686, DS=754x686
x_set_window_size_1 (5), MS=18x36 IH IV
EmacsFrameResize, PS=754x686, XS=754x686, DS=754x686
EmacsFrameResize, PS=754x686, XS=754x686, DS=754x686
x_make_frame_visible
EmacsFrameResize, PS=754x686, XS=956x1029, DS=754x686
change_frame_size_1, delayed, PS=754x686, XS=956x1029, DS=754x686
MapNotify, not hidden & not iconified, PS=754x686, DS=956x1029
EmacsFrameResize, PS=754x686, XS=956x1029, DS=956x1029
change_frame_size_1, delayed, PS=754x686, XS=956x1029, DS=956x1029
change_frame_size (5), TS=720x648~>922x991, TC=80x36~>102x55, NS=754x686~>956x1029, IS=752x648~>954x991, MS=18x36 IH IV
EmacsFrameResize, PS=956x1029, XS=956x1029
change_frame_size_1, delayed, PS=956x1029, XS=956x1029
EmacsFrameResize, PS=956x1029, XS=956x1029, DS=956x1029
EmacsFrameResize, PS=956x1029, XS=956x1029, DS=956x1029
EmacsFrameResize, PS=956x1029, XS=956x1029
change_frame_size_1, delayed, PS=956x1029, XS=956x1029
EmacsFrameResize, PS=956x1029, XS=956x1029, DS=956x1029
change_frame_size (5), MS=18x36 IH IV
change_frame_size (5), MS=18x36 IH IV

[-- Attachment #3: GTK2 frame size history --]
[-- Type: text/plain, Size: 1330 bytes --]

Frame size history of #<frame *scratch* 0x557471f85e50>
x_create_frame_1 (5), TS=80x25~>720x450, NS=80x25~>736x450, IS=80x25~>736x450, MS=18x36 IH IV
gui_figure_window_size (5), TS=720x450~>720x648, TC=80x25~>80x36, NS=736x450~>736x648, IS=736x450~>736x648, MS=18x36 IH IV
scroll-bar-width (3), NS=736x648~>752x648, IS=736x648~>752x648, MS=90x90
scroll-bar-height (3), MS=90x90
menu-bar-lines (2), MS=90x90
x_create_frame_2 (0), MS=90x90
xg_frame_set_char_size, invisible, PS=752x648, XS=752x648, DS=752x648
xg_frame_set_char_size (5), MS=18x36 IH IV
x_make_frame_visible
ConfigureNotify, PS=752x648, XS=752x648, DS=752x648
xg_frame_resized, unchanged, PS=752x648, XS=752x648
MapNotify, not hidden & not iconified, PS=752x648, DS=752x648
ConfigureNotify, PS=752x648, XS=956x1029, DS=752x648
xg_frame_resized, changed, PS=752x648, XS=956x1029
change_frame_size_1, delayed, PS=752x648, XS=956x1029, DS=752x648
tool-bar-lines (2), NS=752x648~>956x1029, MS=90x90
xg_frame_set_char_size, visible, PS=752x648, XS=956x1029, DS=956x1029
ConfigureNotify, PS=752x648, XS=956x985, DS=956x1029
xg_frame_resized, changed, PS=752x648, XS=956x985, DS=956x1029
change_frame_size_1, delayed, PS=752x648, XS=956x985, DS=956x1029
change_frame_size (5), TS=720x648~>924x985, TC=80x36~>102x54, NS=752x648~>956x985, IS=752x648~>956x985, MS=18x36 IH IV

[-- Attachment #4: GTK3 frame size history --]
[-- Type: text/plain, Size: 1282 bytes --]

Frame size history of #<frame *scratch* 0x55f7d6cc7ff8>
x_create_frame_1 (5), TS=80x25~>720x450, NS=80x25~>736x450, IS=80x25~>736x450, MS=18x36 IH IV
gui_figure_window_size (5), TS=720x450~>720x648, TC=80x25~>80x36, NS=736x450~>736x648, IS=736x450~>736x648, MS=18x36 IH IV
scroll-bar-width (3), NS=736x648~>752x648, IS=736x648~>752x648, MS=90x90
scroll-bar-height (3), MS=90x90
menu-bar-lines (2), MS=90x90
x_create_frame_2 (0), MS=90x90
xg_frame_set_char_size, invisible, PS=752x648, XS=752x648, DS=752x648
xg_frame_set_char_size (5), MS=18x36 IH IV
x_make_frame_visible
MapNotify, not hidden & not iconified, PS=752x648, DS=752x648
ConfigureNotify, PS=752x648, XS=956x1029, DS=752x648
xg_frame_resized, changed, PS=752x648, XS=956x1029
change_frame_size_1, delayed, PS=752x648, XS=956x1029, DS=752x648
change_frame_size (5), TS=720x648~>924x1029, TC=80x36~>102x57, NS=752x648~>956x1029, IS=752x648~>956x1029, MS=18x36 IH IV
tool-bar-lines (2), MS=90x90
xg_frame_set_char_size, visible, PS=956x1029, XS=956x1029
ConfigureNotify, PS=956x1029, XS=956x988
xg_frame_resized, changed, PS=956x1029, XS=956x988
change_frame_size_1, delayed, PS=956x1029, XS=956x988
change_frame_size (5), TS=924x1029~>924x988, TC=102x57~>102x54, NS=956x1029~>956x988, IS=956x1029~>956x988, MS=18x36 IH IV

[-- Attachment #5: Type: text/plain, Size: 702 bytes --]


> entries.  Alternatively, you could set a watchpoint at xterm.c's
>
>           bool not_hidden = x_get_current_wm_state (f, event->xmap.window, &value, &sticky);
>
> and see whether a value of true is ever returned.

Also confirmed.

> One thing you could try is to change
>
>       if (v == 1 && f->visible != 1)
> 	redisplay_other_windows ();
>
> to
>
>       if (v == 1)
> 	redisplay_other_windows ();
>
> in frame.h's SET_FRAME_VISIBLE so maybe Emacs would send the modified
> elements (modified because the WM changed their size to something Emacs
> didn't ask for) again.  Honestly, I have no hope that this would help.

Unfortunately it doesn't (at least not with Lucid).

Thanks,

-- 
Basil

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#48809: 28.0.50; Missing Lucid/GTK2 graphical elements on tiling WM
  2021-06-11 12:02   ` Basil L. Contovounesios
@ 2021-06-11 16:40     ` martin rudalics
  2021-06-12 10:44       ` Basil L. Contovounesios
  0 siblings, 1 reply; 6+ messages in thread
From: martin rudalics @ 2021-06-11 16:40 UTC (permalink / raw)
  To: Basil L. Contovounesios; +Cc: 48809

Thanks.  What I get here with Lucid from the line starting with
x_make_frame_visible is

x_make_frame_visible
MapNotify, not hidden & not iconified, PS=754x686, DS=754x686
change_frame_size (5), MS=18x36 IH IV
EmacsFrameResize, PS=754x686, XS=754x686
change_frame_size_1, delayed, PS=754x686, XS=754x686
EmacsFrameResize, PS=754x686, XS=754x686, DS=754x686
EmacsFrameResize, PS=754x686, XS=754x686
change_frame_size_1, delayed, PS=754x686, XS=754x686
EmacsFrameResize, PS=754x686, XS=754x686, DS=754x686
EmacsFrameResize, PS=754x686, XS=754x686, DS=754x686
change_frame_size (5), MS=18x36 IH IV
change_frame_size (5), MS=18x36 IH IV

What you get instead is

x_make_frame_visible
EmacsFrameResize, PS=754x686, XS=956x1029, DS=754x686

Here your WM asks Emacs to resize the frame to a native size of 956x1029
pixels instead of the 754x686 we asked for ...

change_frame_size_1, delayed, PS=754x686, XS=956x1029, DS=754x686
MapNotify, not hidden & not iconified, PS=754x686, DS=956x1029
EmacsFrameResize, PS=754x686, XS=956x1029, DS=956x1029
change_frame_size_1, delayed, PS=754x686, XS=956x1029, DS=956x1029
change_frame_size (5), TS=720x648~>922x991, TC=80x36~>102x55, NS=754x686~>956x1029, IS=752x648~>954x991, MS=18x36 IH IV

... and here we should apply this change with a new inner size of 954x991
pixels.  Something must go wrong here because the remaining lines do not
indicate any change.

EmacsFrameResize, PS=956x1029, XS=956x1029
change_frame_size_1, delayed, PS=956x1029, XS=956x1029
EmacsFrameResize, PS=956x1029, XS=956x1029, DS=956x1029
EmacsFrameResize, PS=956x1029, XS=956x1029, DS=956x1029
EmacsFrameResize, PS=956x1029, XS=956x1029
change_frame_size_1, delayed, PS=956x1029, XS=956x1029
EmacsFrameResize, PS=956x1029, XS=956x1029, DS=956x1029
change_frame_size (5), MS=18x36 IH IV
change_frame_size (5), MS=18x36 IH IV

Does anything change if, in adjust_frame_size in frame.c, right after the

   adjust_frame_glyphs (f);
   calculate_costs (f);
   SET_FRAME_GARBAGED (f);
   /* We now say here that F was resized instead of using the old
      condition below.  Some resizing must have taken place and if it was
      only shifting the root window's position (paranoia?).  */
   f->resized_p = true;

block around line 893 you insert either of the lines

   windows_or_buffers_changed = 40;
   update_mode_lines = 40;

or both?

martin





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#48809: 28.0.50; Missing Lucid/GTK2 graphical elements on tiling WM
  2021-06-11 16:40     ` martin rudalics
@ 2021-06-12 10:44       ` Basil L. Contovounesios
  2021-06-12 16:46         ` martin rudalics
  0 siblings, 1 reply; 6+ messages in thread
From: Basil L. Contovounesios @ 2021-06-12 10:44 UTC (permalink / raw)
  To: martin rudalics; +Cc: 48809

martin rudalics <rudalics@gmx.at> writes:

> Does anything change if, in adjust_frame_size in frame.c, right after the
>
>   adjust_frame_glyphs (f);
>   calculate_costs (f);
>   SET_FRAME_GARBAGED (f);
>   /* We now say here that F was resized instead of using the old
>      condition below.  Some resizing must have taken place and if it was
>      only shifting the root window's position (paranoia?).  */
>   f->resized_p = true;
>
> block around line 893 you insert either of the lines
>
>   windows_or_buffers_changed = 40;
>   update_mode_lines = 40;
>
> or both?

Unfortunately none of the three possibilities make a discernible
difference with either Lucid or GTK2 (the same toolkit elements are
still missing).

Thanks,

-- 
Basil





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#48809: 28.0.50; Missing Lucid/GTK2 graphical elements on tiling WM
  2021-06-12 10:44       ` Basil L. Contovounesios
@ 2021-06-12 16:46         ` martin rudalics
  0 siblings, 0 replies; 6+ messages in thread
From: martin rudalics @ 2021-06-12 16:46 UTC (permalink / raw)
  To: Basil L. Contovounesios; +Cc: 48809

 > Unfortunately none of the three possibilities make a discernible
 > difference with either Lucid or GTK2 (the same toolkit elements are
 > still missing).

OK.  A few additional questions:

- You say "The missing elements reappear after the affected frames are
   resized."  Is resizing the only method to show such missing elements?
   Does `force-mode-line-update' in an affected frame help when its menu
   bar is missing?  What happens when you type <F10> in such a frame?

- Is the new frame in lucid-left-2.png the left or the right one?  Is
   the new frame in lucid-left-3.png the lower or the upper one?

- From your screenshots it appears as if the selected frame always
   retains focus when you do C-x 5 2.  Is that right?  If so, what
   happens if, instead of C-x 5 2, you do

   (select-frame (make-frame))

   or

   (select-frame-set-input-focus (make-frame))

- What happens when you create, in addition to an existing one, a new
   initial frame by starting a new Emacs process?  Does the new frame
   miss any of its display elements?  Is the new frame focused?

- What happens when you also enable horizontal scroll bars or the tab
   bar?

- Can you try with the Motif toolkit (Emacs 27.2 or earlier)?

- Can you try gtkparasite to inspect the GTK2 windows (I never used it
   myself).  It would be interesting whether it can find any scroll bar,
   tool bar and menu bar windows at all and if so what it can say about
   them.

So far it seems that this will become yet another "known problem".

martin





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-06-12 16:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-03 12:51 bug#48809: 28.0.50; Missing Lucid/GTK2 graphical elements on tiling WM Basil L. Contovounesios
2021-06-04  9:17 ` martin rudalics
2021-06-11 12:02   ` Basil L. Contovounesios
2021-06-11 16:40     ` martin rudalics
2021-06-12 10:44       ` Basil L. Contovounesios
2021-06-12 16:46         ` martin rudalics

unofficial mirror of bug-gnu-emacs@gnu.org 

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://yhetil.org/emacs-bugs/0 emacs-bugs/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 emacs-bugs emacs-bugs/ https://yhetil.org/emacs-bugs \
		bug-gnu-emacs@gnu.org
	public-inbox-index emacs-bugs

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.yhetil.org/yhetil.emacs.bugs
	nntp://news.gmane.io/gmane.emacs.bugs


code repositories for project(s) associated with this inbox:

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

AGPL code for this site: git clone http://ou63pmih66umazou.onion/public-inbox.git