emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: scrolling very buggy (slider, arrows) under OS X


From: Jan D.
Subject: Re: scrolling very buggy (slider, arrows) under OS X
Date: Sat, 13 Mar 2004 23:45:08 +0100

On Mon, Mar 08, 2004 at 04:54:18PM +0000, David Reitter wrote:
Also, during scrolling, the size of the slider changes. That should
never be, as the size indicates the length of the document in relation
to the size of the whole scrollbar. That's an old paradigm!
Consequently, the size of the slider only changes if the document size
changes.

No, this is wrong.

The slider's size represents the size of the displayed text -- in characters -- in relation to the size of the entire buffer. As different portions of a the buffer can have different displayed sizes (e.g., a screenful of a part of
the buffer with very long lines may have many more characters than a
screenful containing only newlines), this means that the slider can change
size as you move it.

I would not go as far to say this is wrong.  The classic GUI behaviour
has been, and still is for most applications and toolkits, to have the
size of the slider represent how much of the total that is displayed,
counted in lines.  Thus, scrolling does not change the slider size.
The Emacs behaviour is as described above.  These are two incompatible
behaviours, Emacs versus basically everything else.  It is hard to
make some compromise.  For example, putting the cursor on the last line
in an Emacs buffer and hitting ^L is supposed to move the last line
to the middle of the window.  So the slider has to do something useful.
In other GUI applications, such operations is just not possible.

Now, Emacs will probably not change its behaviour, and other GUI
applications will not change either.  The trick is to make Emacs
behave reasonable so that users are not (too) surprised, like in
this case.  This is hard, and I do not have any good suggestions.

        Jan D.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]