From: Owen Taylor <otaylor@redhat.com>
Cc: emacs-devel@gnu.org
Subject: Re: Gtk scrollbar: thumb too short
Date: 27 Mar 2003 10:48:42 -0500 [thread overview]
Message-ID: <1048780121.14517.22.camel@localhost.localdomain> (raw)
In-Reply-To: <E18yO51-0007OS-00@fencepost.gnu.org>
On Wed, 2003-03-26 at 22:29, Richard Stallman wrote:
> > I understand why the scrollbar thumb is shorter than I think it
> > should be: to allow for placing the last line of the buffer in the
> > top line of the window.
> >
> > But still, I'm not so happy with the current look of the scrollbar.
> > It confuses me quite a bit. Is there no way to make the thumb extend
> > to the bottom of the scrollbar area when end of buffer is visible, and
> > yet to also allow scrolling further down so that the last line of the
> > buffer can be moved to the top of the window?
>
> Not really. The code in Emacs does not specify the length of the
> thumb, GTK calculates it. Emacs tells GTK how big the buffer is, how
> big a page is and where we are in the buffer.
>
> What happens if the app specifies a position that is less than one
> page away from the end? Is that considered invalid?
>
> My suggestion is to display a thumb that rises from the bottom of the
> scroll bar, but is shorter than normal, as if the bottom of the thumb
> were hidden beyond the end of the scroll bar. Others may think
> of a better way to indicate this situation.
>
> When GTK decides that the thumb extends to the bottom it will not
> emit events for anymore downwards motion with the mouse, only upwards.
>
> Perhaps GTK should have an option so the app can let the thumb move
> further down. What do people think of that?
Thoughts here, in no particular order:
* 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)
It's very easily in emacs's default configuration currently to
accidentally create text files with lots of trailing blank lines
since there is no visual differentiation between blank lines and
overscrolled space.
(Emacs-21.2 with Xaw3d seems to be just buggy ... if the user drags
the thumb of the scrollbar past the end of the buffer it shrinks
to a smaller size and doesn't come back.)
* 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)
* There have been some somewhat similar requests; Gnumeric (I've
CC'ed Jody Goldberg in case he has comments) goes to some extensive
hack lengths so that you can click on the down arrow in the scrollbar
and add extra blank lines. (You can also extend the area by
cursoring past the ends of the buffer.) However, differing from the
Emacs behavior:
- 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.
- When you scroll back up, the extra space vanishes.
I wonder if we added some clean option to GTK+ to allow this
behavior, whether it would satisfy the requirements of Emacs?
The main difference is that you can't, by dragging the scrollbar,
position past the end of the buffer. You would need to do
it by clicking on the down arrow (middle button goes down a page),
or by keyboard commands such as C-l.
(Note that Emacs could already implement this behavior for handling
programmatic overscrolling already ... it's only the clicking
on the down-arrow part that requires hacks in gnumeric.)
Regards,
Owen
next prev parent reply other threads:[~2003-03-27 15:48 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 [this message]
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
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=1048780121.14517.22.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.