After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 330168 - avoid delays in background switching
avoid delays in background switching
Status: RESOLVED FIXED
Product: nautilus
Classification: Core
Component: Desktop
2.13.x
Other Linux
: Normal normal
: ---
Assigned To: Nautilus Maintainers
Nautilus Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-02-06 19:57 UTC by Matthias Clasen
Modified: 2009-04-21 13:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
background-no-delay.patch (2.92 KB, patch)
2006-02-06 19:57 UTC, Matthias Clasen
committed Details | Review
corresponding nautilus patch (1.55 KB, patch)
2006-02-06 21:33 UTC, Matthias Clasen
accepted-commit_after_freeze Details | Review

Description Matthias Clasen 2006-02-06 19:57:02 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.
Comment 1 Matthias Clasen 2006-02-06 19:57:48 UTC
Created attachment 58824 [details] [review]
background-no-delay.patch
Comment 2 Matthias Clasen 2006-02-06 20:00:53 UTC
Note that the patch is against the 2.12.3 version of the background capplet.
Comment 3 Rodney Dawes 2006-02-06 20:31:36 UTC
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.
Comment 4 Matthias Clasen 2006-02-06 21:32:48 UTC
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.
Comment 5 Matthias Clasen 2006-02-06 21:33:15 UTC
Created attachment 58829 [details] [review]
corresponding nautilus patch
Comment 6 Rodney Dawes 2006-02-11 06:14:39 UTC
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.
Comment 7 Rodney Dawes 2007-01-08 17:03:36 UTC
Reassigning this to nautilus for that patch to be reviewed.
Comment 8 Matthias Clasen 2007-07-24 13:31:23 UTC
Alex, can this go in ? 
We've carried this patch in Fedora for a long time without complaints.
Comment 9 Matthias Clasen 2008-08-16 22:17:11 UTC
Ping. Can we get the patch reviewed under new maintainership ?
Comment 10 Alexander Larsson 2009-03-11 13:27:50 UTC
Patch looks good to me. We should get it in after freeze.
Comment 11 Cosimo Cecchi 2009-04-21 13:32:27 UTC
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>