Scrollbars are hard to get right. They have very small click targets and are barely usable to make fine adjustments. In GTK+ 3, we’ve made a number of changes to scrollbars in the last few years.
- We’ve removed the steppers
- We made the scrollbar smaller and look more like an indicator
- Clicking outside the thumb jumps to the position; paging is still available via right click
In particular the last change caused some heartburn. To compensate, we added a ‘zoom mode’, which scrolls slowly (1-1 correspondence between pointer movements and scroll delta). Unfortunately, it turned out to be too much of an easter egg. To trigger it, you have to hold down Shift while clicking on the thumb. The combined use of mouse and keyboard is also complicated for many users.
This cycle, we’re trying again to make scrolling useful. I’ve just merged patches by Jon McCann and Jakub Steiner to change the zoom mode is triggered. Click-and-hold or long press on the slider will now put the scrollbar into zoom mode. We’ve also added a visible feedback for this, which makes a big difference. To top it off, Jon added autoscroll – if you are scrolling in zoom mode and move the pointer above or below the widget, the scrolling will continue until you let go of the button. This turns out to be very nice. You should try it once GTK+ 3.9.12 is out.
Since the autoscroll is hard to capture in a screenshot, I’ve also made a little video to show it off.