GNOME Bugzilla – Bug 330168
avoid delays in background switching
Last modified: 2009-04-21 13:32:27 UTC
Background switching is too slow currently, due to several layers of timeouts to work around various issues. The background capplet has a keyboard-delay + 100 timeout before doing anything, presumably to make arrowing through the list of backgrounds avoid multiple background changes. IMO, that is entirely the wrong usecase to optimize for. Rather, we should expect people to step through the list one-by-one, looking at the changed desktop to judge the image. For that use case, switching should be as fast as possible, no delays necessary. Also, the theme capplet has similar issues, but does not play any games with delays. gnome-settings-daemon has another 100ms delay to deal with the non-atomicity of gconf changesets. For that, I propose to use a simple stamp mechanism.
Created attachment 58824 [details] [review] background-no-delay.patch
Note that the patch is against the 2.12.3 version of the background capplet.
Note that this breaks use of the keyboard in the list of wallpapers. The timeout in the capplet is there, so that if the user presses the up or down key, and holds it, we don't cycle through every single wallpaper image in the list. I am all for getting rid of the timeout though, if there is some better way to detect when the keyboard is pressed, vs. the mouse, in a treeview, when selection changes. This timeout was put there to satisfy issues brought up by JRB when I replaced the old capplet with the current UI. But as I said, if we can deal with that a better way, I am all for seeing a patch that does it. I am not sure how to determine mouse vs. keyboard on treeview selection of a row though.
As I said, the theme capplet has the same potential problem, but no timeouts... A little correction for the patch: "stamp" needs to be "/stamp" in two places.
Created attachment 58829 [details] [review] corresponding nautilus patch
OK. The background capplet bit is in, and we no longer have a keyboard repeat delay + 100 ms timeout for setting the gconf keys. We still need to deal with holding keys down for scrolling from one end of the list to the other, though.
Reassigning this to nautilus for that patch to be reviewed.
Alex, can this go in ? We've carried this patch in Fedora for a long time without complaints.
Ping. Can we get the patch reviewed under new maintainership ?
Patch looks good to me. We should get it in after freeze.
Fixed in master. commit 99e66a93605e056c80cebb4c3ac9b6b58167ad1c Author: Matthias Clasen <mclasen@redhat.com> Date: Tue Apr 21 15:27:45 2009 +0200 Avoid delays in background switching Don't delay background switching, so that users will immediately see it changing when browsing the background list (#330168). Signed-off-by: Cosimo Cecchi <cosimoc@gnome.org>