all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Owen Taylor <otaylor@redhat.com>
Cc: emacs-devel@gnu.org
Subject: Re: Gtk scrollbar: thumb too short
Date: 28 Mar 2003 10:44:17 -0500	[thread overview]
Message-ID: <1048866256.17532.39.camel@localhost.localdomain> (raw)
In-Reply-To: <E18yvey-00075x-00@fencepost.gnu.org>

On Fri, 2003-03-28 at 10:20, Richard Stallman wrote:
>      * I've always found the emacs behavior with respect to the end of the
>        buffer quite confusing personally... I think it would be far
>        less confusing if the region that was scrolled was actually
>        confined to the lines of the buffer (or maybe lines in buffer + 1)
> 
> If you mean that it would be impossible for the end of the buffer to
> be located above the last line of the window, that would be taking
> away a feature that users are accustomed to.  We can't do that.

Was just an offhand comment :-) I didn't really expect it to be
acted on.

>      * Allowing dragging the scrollbar thumb past the end of the 
>        trough is something I'm quite hesitant to do:
> 
> 	- It will look like a bug to the user
> 	- Some themes may not be able to handle such a case nicely (think
> 	  of a theme where the stepper arrows are round circles in the
> 	  trough instead of being as wide as the trough ... in that
> 	  case the thumb can't simply be truncated by the stepper arrow)
> 
> It isn't a bug, though--and what else should the scroll bar do?
> What happens in those themes will be logical, and will show that
> the current visible window extends past the end of the text.

Just because something makes logical sense doesn't mean it will make
sense to users. But my concern is more:

 - It will be a confusing visual mess.
 - The visual representation won't correspond to the users ability
   to click on the scrollbar. (The ability to click on the arrow
   is not affected by the theme, just the visual representation.)
 - I suspect that many themes will simply not draw it correctly.

> 	- The extra blank lines actually extend the scrollable space - that
> 	  is, the thumb is always confined to the trough, it just shrinks
> 	  to indicate the longer scrollbar space.
> 
> In Emacs, these aren't "extra blank lines".  Emacs doesn't extend
> the buffer contents to reach the bottom of the window.
> The Gnumeric behavior isn't right for Emacs.
> 
> The GUI for a program should reflect the data in the program,
> not vice versa.

I think there is a strong case to be made that the length of the
scrollbar trough is

 MAX (length of document, maximum visible position)

rather than simple the length of the document. Consider the case
where the document is shorter than the screen height. In that case,
there is a strong expectation that the thumb extends the entire
length of the trough, and Emacs does that currently.

If you _didn't_ do that, then you'd have a scrollbar that only
occupies part of the trough but that it was impossible to drag
up and down. While that might make logical sense, it would be
highly confusing.

So if this interpretation of the trough length corresponding
to:

 MAX (length of document, maximum visible position)

is used for documents shorter than the screen, I don't see a
reason why it can't be used for the case of overscrolling as
well. The main difficulty would be when to take the overscrolled
area out of the trough size computation... usually you
want to do it immediately, but when the user is dragging the
scrollbar, probably not until they release the mouse.

To do that with GTK+ currently, is a bit of a hack, you
have to connect to the ::button-release-event signal on the
scrollbar. But I think it would be a reasonable RFE for GTK+
to have some clean way of finding out when the drag finishes.

Regards,
                                       Owen

  reply	other threads:[~2003-03-28 15:44 UTC|newest]

Thread overview: 143+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-25 14:51 Gtk scrollbar: thumb too short Kai Großjohann
2003-03-25 18:54 ` Jan D.
2003-03-25 19:55   ` Stefan Monnier
2003-03-26 18:26     ` Jan D.
2003-03-26 19:07       ` Stefan Monnier
2003-03-27  3:29   ` Richard Stallman
2003-03-27 14:51     ` Stefan Monnier
2003-03-27 15:48     ` Owen Taylor
2003-03-27 16:30       ` Stefan Monnier
2003-03-27 21:07         ` Owen Taylor
2003-03-27 21:41           ` Stefan Monnier
2003-03-27 21:42           ` Luc Teirlinck
2003-03-27 21:41             ` Owen Taylor
2003-03-27 22:18               ` Luc Teirlinck
2003-03-27 22:46                 ` Jody Goldberg
2003-03-28  2:15               ` Luc Teirlinck
2003-03-28  4:28                 ` Owen Taylor
2003-03-28  6:07                   ` Luc Teirlinck
2003-03-29 18:38                     ` Richard Stallman
2003-03-28 13:35                   ` Stefan Monnier
2003-03-28 13:55                     ` Luc Teirlinck
2003-03-27 16:50       ` Andreas Schwab
2003-03-27 18:27         ` Jan D.
2003-03-27 20:54         ` Owen Taylor
2003-03-28  1:48           ` Miles Bader
2003-03-28  1:42       ` Miles Bader
2003-03-28  1:51         ` Miles Bader
2003-03-28 15:04           ` Kim F. Storm
     [not found]             ` <m21y0rruj4.fsf@primate.xs4all.nl>
2003-03-28 23:57               ` Kim F. Storm
     [not found]                 ` <m2wuijqdu3.fsf@primate.xs4all.nl>
2003-03-29  1:26                   ` Kim F. Storm
2003-03-31  7:52             ` Miles Bader
2003-03-31 11:04               ` Kim F. Storm
2003-03-28 12:43         ` Robert J. Chassell
2003-03-28 13:34           ` Luc Teirlinck
2003-03-28 15:11             ` Robert J. Chassell
2003-03-28 15:50               ` Luc Teirlinck
2003-03-28 13:38           ` Stefan Monnier
2003-03-28 16:18             ` Robert J. Chassell
2003-03-28 16:49               ` Stefan Monnier
2003-03-29 18:39             ` Richard Stallman
2003-03-29 18:43               ` Stefan Monnier
2003-03-28 15:20       ` Richard Stallman
2003-03-28 15:44         ` Owen Taylor [this message]
2003-03-28 18:25           ` Jan D.
2003-03-27 18:41     ` Jan D.
2003-03-28 15:21       ` Richard Stallman
2003-03-28 17:27         ` Owen Taylor
2003-03-30 19:24           ` Richard Stallman
2003-03-31 18:12             ` Owen Taylor
2003-03-31 22:06               ` Luc Teirlinck
2003-03-31 22:16                 ` Owen Taylor
2003-03-31 22:27                   ` Luc Teirlinck
2003-03-31 23:29                   ` Luc Teirlinck
2003-03-31 22:23               ` Robert J. Chassell
2003-04-01  0:28               ` Luc Teirlinck
2003-04-01 17:48                 ` Owen Taylor
2003-04-02  1:39                   ` Miles Bader
2003-04-02  2:30                   ` Luc Teirlinck
2003-04-01  9:38               ` Richard Stallman
2003-04-01 17:26                 ` Owen Taylor
2003-04-02  1:33                   ` Miles Bader
2003-04-02  3:30                     ` Luc Teirlinck
2003-04-02  3:55                       ` Miles Bader
2003-04-02  4:29                         ` Luc Teirlinck
2003-04-02  4:42                           ` Miles Bader
2003-04-02 11:07                           ` Kai Großjohann
2003-04-02 13:52                             ` Luc Teirlinck
2003-04-02 13:11                               ` Kai Großjohann
2003-04-02 14:42                                 ` Luc Teirlinck
2003-04-02 14:03                                   ` Kai Großjohann
2003-04-03 10:38                               ` Richard Stallman
2003-04-07 15:35                                 ` Owen Taylor
2003-04-07 16:57                                   ` Stefan Monnier
2003-04-07 18:30                                     ` Owen Taylor
2003-04-07 18:38                                       ` Stefan Monnier
2003-04-07 18:57                                         ` Owen Taylor
2003-04-07 19:02                                           ` Stefan Monnier
2003-04-07 19:21                                             ` Owen Taylor
2003-04-07 19:30                                               ` Stefan Monnier
2003-04-08  2:30                                   ` Richard Stallman
2003-04-08 14:56                                     ` Owen Taylor
2003-04-08 23:36                                       ` Miles Bader
2003-04-09  1:58                                       ` Richard Stallman
2003-04-09 14:46                                         ` Owen Taylor
2003-04-10  6:22                                           ` Richard Stallman
2003-04-10  6:48                                             ` Miles Bader
2003-04-11  8:51                                               ` Richard Stallman
2003-04-10 17:37                                             ` Jan D.
2003-04-11  8:51                                               ` Richard Stallman
2003-04-11 12:26                                                 ` Luc Teirlinck
2003-04-11 12:53                                                   ` Jan D.
2003-04-11 13:08                                                     ` Luc Teirlinck
2003-04-11 14:02                                                       ` Kai Großjohann
2003-04-11 14:28                                                         ` Stefan Monnier
2003-04-11 15:33                                                           ` Kai Großjohann
2003-04-12  3:02                                                             ` Luc Teirlinck
2003-04-12  8:56                                                               ` Kai Großjohann
2003-04-12 11:58                                                                 ` Miles Bader
2003-04-12 14:56                                                                 ` Luc Teirlinck
2003-04-12 14:58                                                                   ` Kai Großjohann
2003-04-13 11:22                                                                   ` Richard Stallman
2003-04-15  1:24                                                                     ` Luc Teirlinck
2003-04-15  1:31                                                                       ` Miles Bader
2003-04-15  1:42                                                                         ` Luc Teirlinck
2003-04-15  7:18                                                                       ` Kai Großjohann
2003-04-15 13:01                                                                         ` Luc Teirlinck
2003-04-16  4:39                                                                       ` Richard Stallman
2003-04-17  3:59                                                                         ` Luc Teirlinck
2003-04-17  4:09                                                                           ` Luc Teirlinck
2003-04-11 15:23                                                         ` Andreas Schwab
2003-04-11 16:30                                                           ` Kai Großjohann
2003-04-11 16:55                                                             ` Robert J. Chassell
2003-04-11 20:42                                                               ` Kai Großjohann
2003-04-11 21:33                                                                 ` Robert J. Chassell
2003-04-12  0:05                                                                 ` Miles Bader
2003-04-12  0:47                                                                   ` Luc Teirlinck
2003-04-12  2:11                                                                     ` Miles Bader
2003-04-11 19:09                                                           ` NEWS and invisible text Stefan Monnier
2003-04-14 23:09                                                             ` Kevin Rodgers
2003-04-21  0:59                                                               ` Richard Stallman
2003-04-11 16:36                                                         ` Gtk scrollbar: thumb too short Robert J. Chassell
2003-04-11 17:07                                                           ` Kai Großjohann
2003-04-11 17:46                                                             ` Luc Teirlinck
2003-04-11 21:13                                                             ` Robert J. Chassell
2003-04-12 17:07                                                         ` Richard Stallman
2003-04-11 13:12                                                     ` Luc Teirlinck
2003-04-11 16:13                                                     ` Robert J. Chassell
2003-04-12 17:07                                                   ` Richard Stallman
2003-04-10 17:33                                     ` Jan D.
2003-04-02 12:56                           ` Robert J. Chassell
2003-04-02 14:07                           ` Stefan Monnier
2003-04-03  1:34                             ` Miles Bader
2003-04-03 15:35                               ` Stefan Monnier
2003-04-02  9:19                   ` Richard Stallman
2003-03-28 18:12         ` Jan D.
2003-03-28 22:25           ` Robert J. Chassell
2003-03-28 22:35           ` Robert J. Chassell
2003-03-29 17:06             ` Jan D.
2003-03-26 16:47 ` Richard Stallman
2003-03-26 18:32   ` Jan D.
2003-03-27 19:04     ` Richard Stallman
2003-04-01 19:29 ` Kai Großjohann
     [not found] <200303271914.h2RJEdbL026474@stubby.bodenonline.com>
     [not found] ` <3E834774.6080604@swipnet.se>
     [not found]   ` <200303271904.h2RJ48b0029268@rum.cs.yale.edu>
2003-03-27 23:23     ` Stefan Monnier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1048866256.17532.39.camel@localhost.localdomain \
    --to=otaylor@redhat.com \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.