|
From: | Jan D. |
Subject: | Re: Gtk scrollbar: thumb too short |
Date: | Thu, 27 Mar 2003 19:41:44 +0100 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030314 |
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?
Not invalid, but the position is silently changed to be a page away from the end. GTK scroll bars adjust position values to be in the interval
[minimum value for the scroll bar, maximum value - one page size]
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.
As the native scroll bars do? The disadvantage is that then the thumb size in relation to the scroll bar size looses the connection of how much of the buffer you are seeing w.r.t. the size of the buffer. I don't think that is a big deal. I am quite happy with the GTK/Motif way in Emacs also.
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?
That would be nice. Jan D.
[Prev in Thread] | Current Thread | [Next in Thread] |