I am running Gnome on Debian Testing, and after a recent update to Gnome 42, I started getting the
Application is not responding
dialogue box every few seconds with any application that carries out any processing operations, forcing me to click the "Wait" button to continue. The main culprit was Synaptic, which has to update and check package lists to identify updates: a process which quite normally takes a few seconds. I was getting the "not responding message three times during this process.
I don't know what changed recently to cause this annoyance, but here is how to fix it.
Open dconf Editor and go to /org/gnome/mutter.
Look for check-alive-timeout and edit the period if necessary. Mine was set to 5000 which is 5 seconds in milliseconds. I changed to to 60000, which is 1 minute in milliseconds - a more reasonable period.
Update:
I did a bit more research and found that it may actually be the application at fault,and the issue may be limited to Wayland.
The check-alive feature is there for the user to be able to terminate frozen applications more easily. However, sometimes applications are implemented in a way where they fail to be reply to ping requests in a timely manner, resulting in that, to the compositor, they are indistinguishable from clients that have frozen indefinitely.
When using an application that has these issues, the GUI showed in response to the failure to respond to ping requests can become annoying, as it disrupts the visual presentation of the application.
To allow users to work-around these issues, add a setting allowing them to configure the timeout waited until an application is considered frozen, or disabling the check completely.
Gnome has added this setting, which is good.
Wayland compositors can send a ping to apps that they are supposed to respond to with a pong. However, if an app caught itself in an infinite loop or other computation that takes a long time, it might not send that pong.
Requests provided by wl_shell_surface
wl_shell_surface::pong - respond to a ping event
serial
uint - serial number of the ping event
A client must respond to a ping event with a pong request or the client may be deemed unresponsive.
No comments:
Post a Comment