GNOME Bugzilla – Bug 140068
Scrollbar buttons should desensitize when position is at limits
Last modified: 2004-04-20 09:16:50 UTC
With recent OpenOffic.org... the stepping buttons that control the scrollbar automatically turn insensitive when the scrollbar is at either min or max position. This seems reasonable, it already works in gtk for spinning buttons. Should it be considered for scroll buttons too?
See gtkrange.c:draw_stepper(). The caller could test the value and page_size of the adjustment against the limits, and pass in an extra "sensitive" argument to draw_stepper(). Retitling for clarity.
I'm going to look into this since I saw it on your blog and want to get involved with the Gnome-Love.
Here there is a detailed explanation :) http://mail.gnome.org/archives/gnome-love/2004-April/msg00019.html
Hmm, I thought I already commented on this, but I guess it got lost. I think the OpenOffice behavior is non-standard visual clutter and a bad idea. The point of desensitizing a control is to provide extra information about whether it works or not. But the information that the scrollbar is already at the bottom is *already* there. CC'ing the usability folks in case they want to disagree.
Here is the patch for the OpenOffice behavior. It was a fun exercise and I hope there aren't any bugs.
Created attachment 26730 [details] [review] Patch for desensitizing behavior
I just noticed that the patch doesn't work when the page size is the entire lower -> upper range. Only the top stepper is grayed out.
If anything like this is to be appied, it would probably have to be a style property.
This would break gnumeric's scrollbar behaviour. We use GtkRange::adjust_bounds to allow the scrollbar arrows to scroll down past the current maxima.