From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Scrollbar bug on OS X Date: Wed, 06 Apr 2005 18:51:54 -0400 Message-ID: References: <7ca1709813602da58a139cee58fb4c63@gmail.com> <3b9c4e2f33d37fed55f640dcafbc8d65@gmail.com> <87is31i8jq.fsf-monnier+emacs@gnu.org> <0ba853825b580f74347416c2c0b4a169@gmail.com> <87vf70ausz.fsf-monnier+emacs@gnu.org> <5b72982df8c370d3a58358de397046c8@gmail.com> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1112828040 666 80.91.229.2 (6 Apr 2005 22:54:00 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 6 Apr 2005 22:54:00 +0000 (UTC) Cc: David Reitter , snogglethorpe@gmail.com, emacs-devel@gnu.org, miles@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Apr 07 00:53:57 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1DJJOZ-0005Ge-P3 for ged-emacs-devel@m.gmane.org; Thu, 07 Apr 2005 00:53:12 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DJIxl-0002PH-7B for ged-emacs-devel@m.gmane.org; Wed, 06 Apr 2005 18:25:29 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DJIxI-0002N9-TW for emacs-devel@gnu.org; Wed, 06 Apr 2005 18:25:01 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DJIxI-0002M4-NP for emacs-devel@gnu.org; Wed, 06 Apr 2005 18:25:00 -0400 Original-Received: from [132.204.24.67] (helo=mercure.iro.umontreal.ca) by monty-python.gnu.org with esmtp (Exim 4.34) id 1DJJNy-0006aV-Uf; Wed, 06 Apr 2005 18:52:35 -0400 Original-Received: from hidalgo.iro.umontreal.ca (hidalgo.iro.umontreal.ca [132.204.27.50]) by mercure.iro.umontreal.ca (Postfix) with ESMTP id A5F85340009; Wed, 6 Apr 2005 18:52:03 -0400 (EDT) Original-Received: from asado.iro.umontreal.ca (asado.iro.umontreal.ca [132.204.24.84]) by hidalgo.iro.umontreal.ca (Postfix) with ESMTP id C6E734AC2AE; Wed, 6 Apr 2005 18:51:55 -0400 (EDT) Original-Received: by asado.iro.umontreal.ca (Postfix, from userid 20848) id B39C2E6C1F; Wed, 6 Apr 2005 18:51:55 -0400 (EDT) Original-To: David Kastrup In-Reply-To: (David Kastrup's message of "Thu, 07 Apr 2005 00:25:10 +0200") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) X-DIRO-MailScanner-Information: Please contact the ISP for more information X-DIRO-MailScanner: Found to be clean X-DIRO-MailScanner-SpamCheck: n'est pas un polluriel, SpamAssassin (score=-4.831, requis 5, autolearn=not spam, AWL 0.07, BAYES_00 -4.90) X-MailScanner-From: monnier@iro.umontreal.ca X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:35659 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:35659 > I think you are laboring under the delusion that the scroll bar > actually displays something sensible, namely that mouse-2 exactly at > the bottom of the slider will take you exactly one page of screen > material further. I think you'll find that users are much less > surprised if this goal is not exactly established than if the slider > grows and shrinks in size. So the solution is to base the slider size > on some more-or-less sensible metric like lines-in-file (where > available) to lines-on-screen, and anyway, don't muck with it while > dragging. That's what the code does with the Motif scrollbar, BTW. I think it's also what's used with Gtk. Stefan PS: The only problem is that those toolkits have the idiotic idea to enforce that the bottom of the thumb cannot go further than the bottom. And they enforce it by hiding the events corresponding to "user moves the mouse yet-further-down". I.e. they're throwing away valuable information before the application can even decide whether it's indeed useless or not. It's idiotic because it requires *more* code in the toolkit and has as its only effect to reduce the flexibility of the toolkit.