GNOME Bugzilla – Bug 301722
wrong scrollbars behaviour
Last modified: 2018-05-22 13:10:12 UTC
Other information: Originally reported as http://bugs.debian.org/305681 ---------------------------------------------------------------------------- From: Vincent Bossier <vbo@iba.be> Date: Thu, 21 Apr 2005 13:44:55 +0200 Subject: Bug#305681: gnumeric: wrong scrollbars behaviour Package: gnumeric Version: 1.4.2-2 Severity: normal Both horizontal and vertical scrollbars show a very annoying behaviour. When scrolling beyond the actually used spreadsheet area, the scrollbars become smaller and smaller and the scrolling speed becomes unmanageable. -- System Information: Debian Release: 3.1 APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 2.6.8-1-386 Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) Versions of packages gnumeric depends on: ii gconf2 2.8.1-5 GNOME configuration database syste ii gnumeric-common 1.4.2-2 common files for Gnumeric, the GNO ii gsfonts 8.14+v8.11+urw-0.2 Fonts for the Ghostscript interpre ii libart-2.0-2 2.3.17-1 Library of functions for 2D graphi ii libatk1.0-0 1.8.0-4 The ATK accessibility toolkit ii libbonobo2-0 2.8.1-2 Bonobo CORBA interfaces library ii libbonoboui2-0 2.8.1-2 The Bonobo UI library ii libc6 2.3.2.ds1-20 GNU C Library: Shared libraries an ii libgconf2-4 2.8.1-5 GNOME configuration database syste ii libglade2-0 1:2.4.2-2 library to load .glade files at ru ii libglib2.0-0 2.6.4-1 The GLib library of C routines ii libgnome2-0 2.8.1-2 The GNOME 2 library - runtime file ii libgnomecanvas2-0 2.8.0-1 A powerful object-oriented display ii libgnomeprint2.2-0 2.8.2-1 The GNOME 2.2 print architecture - ii libgnomeprintui2.2-0 2.8.2-2 GNOME 2.2 print architecture User ii libgnomeui-0 2.8.1-3 The GNOME 2 libraries (User Interf ii libgnomevfs2-0 2.8.4-2 The GNOME virtual file-system libr ii libgsf-1 1.11.1-1 Structured File Library - runtime ii libgsf-gnome-1 1.11.1-1 Structured File Library - runtime ii libgtk2.0-0 2.6.4-1 The GTK+ graphical user interface ii libice6 4.3.0.dfsg.1-12.0.1 Inter-Client Exchange library ii liborbit2 1:2.12.1-1 libraries for ORBit2 - a CORBA ORB ii libpango1.0-0 1.8.1-1 Layout and rendering of internatio ii libpopt0 1.7-5 lib for parsing cmdline parameters ii libsm6 4.3.0.dfsg.1-12.0.1 X Window System Session Management ii libxml2 2.6.16-7 GNOME XML library ii xlibs 4.3.0.dfsg.1-12 X Keyboard Extension (XKB) configu ii zlib1g 1:1.2.2-3 compression library - runtime -- no debconf information ----------------------------------------------------------------------------
I assume you mean the scrollbar thumbs are becoming smaller rather than the scrollbars. The size of the thumb shows the percentage of the used sheet currently shown in the window. Where the "used sheet" is the smallest rectangular that includes A1, all cells with content and the currently shown cells. So as you move away from A1 the "used sheet" is likely to increase in size and the visible portion shrinks. The scolling speed depends on the distance you have dragged the mouse out of the sheet portion of the gnumeric window. If you drag it out further the speed will increase. I do not see a bug here.
Indeed, I'm talking about the scrollbar thumbs. However, there is a usability issue when the "active" area is large. What I call the active area is the set of filled cells. If this active area is about 2800 lines and I drag the vertical scrollbar thumb until I see line 2800, the scrollbar thumb will be located *very* closely to the lower end of the scrollbar. From this point, if I keep dragging (even slightly) downwards, the sheet begins to scroll very quickly. For big sheets, the scrollbar thumb locations for (1) "sheet end" and (2) "far beyond sheet end" become closer and closer. It is very difficult for the user to go the end of such large area without "overshooting".
Hmm, there is no thumb location for (2) "far beyond sheet end". The location (1) "sheet end" is at the end of the scrollbar. If you drag the mouse down beyond the center of the thumb you are going into no-man's land. Of course if the thumb is really small, that might indeed be a problem.
I think there's at least a usability problem with the scrolling speed. Now that I read this and try it out I do realize that the distance does have an effect, however it wasn't very obvious when I needed it and found it quite difficult to select less than some 4500 rows starting from row 1 :-)
Would it be possible to let the scrollbar thumb only go as far as "sheet end" when dragging with the mouse even if the mouse crosses the center of the thumb? The scrollbar buttons or scrollwheel on the mouse could be used to move beyond the "sheet end" if needed.
I do not think that different behaviour on mouse drags is possible without doing some serious non-standard stuff (this would mean sub-classing the GtkScrollbar and overriding some of its default behaviour, which is probably not a 'good thing™'). Technically: The actual adjustments of the scrollbar is done in: gnm_pane.c:gnm_pane_compute_visible_region. This function actually does recalculation + updating of the scrollbar 'sizes', by invoking sc_scrollbar_config on the sheet-control. From a UI point of view it would be nice if: 1) the scrollbar by default scrolls only as far as data has been entered into the sheet (this was called the 'extent' of the sheet iirc). 2) the scrollbar scrolls further than this point only when the mouse is actually moved below the thumb and below the ending arrow of the scrollbar. That would make sense to me. However, as it looks now this is rather hard to implement and would require manual scrollbar drag handlers and such. Which is far more effort than it's worth. [I would suggest leaving this as it is until GTK+ offers more fine-grained control of the scrollbar]
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/gnumeric/issues/37.