Subject: Re: bug#53298: 29.0.50; GTK3 frame stops updating

From: martin rudalics <[email-masked]>
Date: Sun, 16 Jan 2022 12:06:12 +0100

> Under the Enlightenmnet window manager 0.25, emacs w/GTK3 stops updating
 > after switching to a different virtual desktop and back.  It still
 > responds to keyboard input.  It can be restored by shading (aka rolling
 > up) or minimizing the window.
 >
 > Further, minimizing the window will cause emacs to behave correctly
 > after future virtual desktop switches.  At least until another unshading
 > - at which point it stops updating again.
 >
 > Enlightenment 0.25 began setting _NET_WM_STATE to _NET_WM_STATE_HIDDEN
 > when switching virtual desktops.  According to xprop, the value is
 > cleared after returning to the emacs desktop.
 >
 > A Xaw build doesn't have this problem.  I've confirmed this with with
 > 27.1 packages from debian bullseye and the current master branch.
 >
 > To reproduce:
 > 1. install enlightenment 0.25 and start an X session
 > 2. configure at least two virtual desktops in Settings -> Screen ->
 > Virtual Desktops
 > 3. install emacs using the GTK3 toolkit and start it
 > 4. switch to another virtual desktop and back
 > 5. focus the emacs frame, typing will not show up, but keyboard
 > shortcuts still work (C-x C-c is easy to verify with)
 > 6. double click the window title bar twice to shade & unshade.  The
 > window should start updating again.

Thanks for the report.  I suppose this is the problem described in
Bug#49955 28.0.50; Emacs got quasi freeze.  For some reasons, Masaru
Nomiya reported that bug as fixed but we never got a conclusive answer.

Also the problem he reported here

https://www.mail-archive.com/[email-masked]/msg26981.html

apparently had no conclusive outcome either.

Can you try commenting in the two lines

/** 	      SET_FRAME_VISIBLE (f, 1); **/
/** 	      SET_FRAME_ICONIFIED (f, false); **/

in xterm.c and tell whether that solves the problem.  If so, we could
add an option to set these in accordance with the window manager used.

Thanks, martin