From: Owen Taylor <otaylor@redhat.com>
Cc: emacs-devel@gnu.org
Subject: Re: Gtk scrollbar: thumb too short
Date: 07 Apr 2003 14:30:46 -0400 [thread overview]
Message-ID: <1049740246.15331.51.camel@localhost.localdomain> (raw)
In-Reply-To: <200304071657.h37Gv2LG024488@rum.cs.yale.edu>
On Mon, 2003-04-07 at 12:57, Stefan Monnier wrote:
> > > > 3. Make the GTK scrollbar more customizable so that it can optionally
> > > > handle a character based approach and hence behave, within Emacs,
> > > > more like the native scrollbar than the pixel based variant of the
> > > > GTK scrollbar.
> > >
> > > I think this is the only reasonable solution.
> > >
> > > I agree with Miles--this is the only right way.
> > >
> > > Owen, would you please implement this facility in the GTK scroll bar?
> >
> > I don't think there has been a satisfactory explanation of how you
> > are going to deal with minimum size issues; which for some themes
> > occur on quite moderately sized buffers. (As I said earlier, for
> > Red Hat's default theme, the minimum scrollbar thumb size is
> > ~30 pixels)
>
> IIUC, the scrollbar widget has the following:
>
> total-size
> minimum thumb size
> thumb size
> thumb position
>
> Where minimum-thumb-size is (for all intents and purposes here) a constant.
> Let's simplify things and subtract minimum thumb size from the current
> thumb size and from the total, we get:
>
> total-size
> thumb size
> thumb position
>
> where
>
> 0 <= thumb-size <= total-size
> thumb-size + thumb-position <= total-size
This isn't a "simplification", it is a different algorithm
from what GTK+ uses. The scrollbar thumb size in GTK+
is:
MAX (min_size, total_size * document_page_size/document_size)
Not:
min_size + (total_size - min_size) * document_page_size / document_size
The difference between these two is substantial. It's
possible to fake your algorithm using GTK+'s range
code, but it requires knowing both the minimum size in
pixels (easy to determine as a style property) and the
trough size in pixels (a complicated function of style
properties and the allocated size of the range.)
Regards,
Owen
next prev parent reply other threads:[~2003-04-07 18:30 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
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 [this message]
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=1049740246.15331.51.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.