From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Stefan Monnier" Newsgroups: gmane.emacs.devel Subject: Re: Gtk scrollbar: thumb too short Date: Mon, 07 Apr 2003 15:02:01 -0400 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <200304071902.h37J213q025315@rum.cs.yale.edu> References: <20030325193739.ZGIN3924.fep01-svc.swip.net@gaffa.gaia.swipnet.se> <3E8345E8.4090509@swipnet.se> <1048872463.17161.132.camel@localhost.localdomain> <1049134327.3326.74.camel@localhost.localdomain> <84of3p2m44.fsf@lucy.is.informatik.uni-duisburg.de> <200304021352.h32DqLO11793@eel.dms.auburn.edu> <1049729721.4045.47.camel@localhost.localdomain> <200304071657.h37Gv2LG024488@rum.cs.yale.edu> <1049740246.15331.51.camel@localhost.localdomain> <200304071838.h37IcO6F025197@rum.cs.yale.edu> <1049741822.15342.57.camel@localhost.localdomain> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1049743441 30527 80.91.224.249 (7 Apr 2003 19:24:01 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 7 Apr 2003 19:24:01 +0000 (UTC) Cc: Stefan Monnier Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Mon Apr 07 21:23:55 2003 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 192cBn-0007kW-00 for ; Mon, 07 Apr 2003 21:21:55 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 192cFR-0003pd-00 for ; Mon, 07 Apr 2003 21:25:41 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 192c3u-0001cC-02 for emacs-devel@quimby.gnus.org; Mon, 07 Apr 2003 15:13:46 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 192bv2-0007Sf-00 for emacs-devel@gnu.org; Mon, 07 Apr 2003 15:04:36 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 192btv-00074Q-00 for emacs-devel@gnu.org; Mon, 07 Apr 2003 15:03:27 -0400 Original-Received: from rum.cs.yale.edu ([128.36.229.169]) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 192bsg-0006Xt-00; Mon, 07 Apr 2003 15:02:10 -0400 Original-Received: from rum.cs.yale.edu (localhost [127.0.0.1]) by rum.cs.yale.edu (8.12.8/8.12.8) with ESMTP id h37J21x6025317; Mon, 7 Apr 2003 15:02:02 -0400 Original-Received: (from monnier@localhost) by rum.cs.yale.edu (8.12.8/8.12.8/Submit) id h37J213q025315; Mon, 7 Apr 2003 15:02:01 -0400 X-Mailer: exmh version 2.4 06/23/2000 with nmh-1.0.4 Original-To: Owen Taylor Original-cc: rms@gnu.org Original-cc: Luc Teirlinck Original-cc: kai.grossjohann@gmx.net Original-cc: emacs-devel@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Emacs development discussions. List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:12985 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:12985 > > > > 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) > > > > [ I assume that total_size = document_size to simplify the discussion ] > > > So if min_size is 10, total_size is 100 and page_size is 1, how does > > the user get to see the last page ? > > The 0-99 possible values for position in the document are mapped > linearly onto the 0-90 possible values for the position of the > slider thumb. My point exactly: for all intents and purposes (other than actual drawing on the screen which you might care about but we don't), we can subtract 10 from all sizes and pretend the total_size is 90 and minimum_size is 0 (and can thus be ignored). Stefan