[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Gtk scrollbar: thumb too short
From: |
Owen Taylor |
Subject: |
Re: Gtk scrollbar: thumb too short |
Date: |
27 Mar 2003 16:07:51 -0500 |
On Thu, 2003-03-27 at 11:30, Stefan Monnier 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)
>
> Less confusing but pretty damn hard. I'll implement it as soon as you
> provide me with a moderately efficient function F that maps from
> top-of-the-scrollbar-position (in % of the scrollbar size) to
> window-start-position (in characters) such that F(100%) ensures
> that (point-max) is visible.
>
> Of course, if the last char of the buffer is a large image, the behavior
> will be quite different from the case where the last 100KB of the buffer
> are invisible. Which is where the "moderately efficient" constraint
> becomes relevant.
Well, if _displaying_ the last page of text can be done with
reasonable efficiency, you should also be to compute this quantity
with reasonable efficiency.... you just start from the end, and
scan backwards for newlines and compute the height of each line
until you get enough pixels. Then you have to recompute
(queue a recomputation) any time there is a change in the
buffer that affects those lines.
But yes, that's probably reasonably complex to implement and there
is no real bound on the amount of text you might have to look at and lay
out to compute this quantity.
Frankly, I tend to turn off or just not look at the scrollbar because
these same issues make it behave in a confusing manner in general.
(Presumably, if you have a large chunks of hidden text anywhere in
your document, the scrollbar will go whacky.)
While writing text editors with pixel based scrollbars is a subject
with lots of prior art, I'm under no illusions that Emacs could be
switched over without huge changes both to its code and to its
efficiency.
> > (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.)
>
> Could you describe the bug more precisely. I don't expect the behavior
> to be perfect, but "doesn't come back" sounds serious (unless you're just
> talking about the size of the thumb: it only decreases while you drag
> to avoid nasty "meta-stable" flicker, so the size will only be reset to
> the proper value when the drag is over).
I am talking about the size of the thumb. Not only does it not come
back when dragging (which, while it may be intentional, looks
very much like a bug), it also doesn't come back after you release,
until you move the scrollbar again.
Regards,
Owen
- Gtk scrollbar: thumb too short, Kai Großjohann, 2003/03/25
- Re: Gtk scrollbar: thumb too short, Jan D., 2003/03/25
- Re: Gtk scrollbar: thumb too short, Richard Stallman, 2003/03/26
- Re: Gtk scrollbar: thumb too short, Stefan Monnier, 2003/03/27
- Re: Gtk scrollbar: thumb too short, Owen Taylor, 2003/03/27
- Re: Gtk scrollbar: thumb too short, Stefan Monnier, 2003/03/27
- Re: Gtk scrollbar: thumb too short,
Owen Taylor <=
- Re: Gtk scrollbar: thumb too short, Stefan Monnier, 2003/03/27
- Re: Gtk scrollbar: thumb too short, Luc Teirlinck, 2003/03/27
- Re: Gtk scrollbar: thumb too short, Owen Taylor, 2003/03/27
- Re: Gtk scrollbar: thumb too short, Luc Teirlinck, 2003/03/27
- Re: Gtk scrollbar: thumb too short, Jody Goldberg, 2003/03/27
- Re: Gtk scrollbar: thumb too short, Luc Teirlinck, 2003/03/27
- Re: Gtk scrollbar: thumb too short, Owen Taylor, 2003/03/27
- Re: Gtk scrollbar: thumb too short, Luc Teirlinck, 2003/03/28
- Re: Gtk scrollbar: thumb too short, Richard Stallman, 2003/03/29
- Re: Gtk scrollbar: thumb too short, Stefan Monnier, 2003/03/28