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 thumbs Date: Mon, 02 Nov 2009 09:10:56 -0500 Message-ID: References: <83skd1dta0.fsf@gnu.org> <87fx90ytzs.fsf@anzu.internal.golden-gryphon.com> <87ws2bkkgm.fsf@catnip.gol.com> <4AEE8D37.7030509@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1257171398 2935 80.91.229.12 (2 Nov 2009 14:16:38 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 2 Nov 2009 14:16:38 +0000 (UTC) Cc: emacs-devel@gnu.org, Miles Bader To: Jason Rumney Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Nov 02 15:16:30 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1N4xht-0008SU-I2 for ged-emacs-devel@m.gmane.org; Mon, 02 Nov 2009 15:16:29 +0100 Original-Received: from localhost ([127.0.0.1]:58382 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N4xhs-0006q9-VG for ged-emacs-devel@m.gmane.org; Mon, 02 Nov 2009 09:16:28 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N4xd0-0001mm-Un for emacs-devel@gnu.org; Mon, 02 Nov 2009 09:11:27 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N4xcu-0001ec-UN for emacs-devel@gnu.org; Mon, 02 Nov 2009 09:11:25 -0500 Original-Received: from [199.232.76.173] (port=52858 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N4xcu-0001eE-51 for emacs-devel@gnu.org; Mon, 02 Nov 2009 09:11:20 -0500 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.183]:19960 helo=ironport2-out.pppoe.ca) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1N4xcq-0008UN-AH; Mon, 02 Nov 2009 09:11:16 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsgEALt37kpFpYlL/2dsb2JhbACBUNoxhDkEiGY X-IronPort-AV: E=Sophos;i="4.44,667,1249272000"; d="scan'208";a="48530190" Original-Received: from 69-165-137-75.dsl.teksavvy.com (HELO pastel.home) ([69.165.137.75]) by ironport2-out.pppoe.ca with ESMTP; 02 Nov 2009 09:10:56 -0500 Original-Received: by pastel.home (Postfix, from userid 20848) id 25CE783D9; Mon, 2 Nov 2009 09:10:56 -0500 (EST) In-Reply-To: <4AEE8D37.7030509@gnu.org> (Jason Rumney's message of "Mon, 02 Nov 2009 15:41:43 +0800") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux) X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. 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:116576 Archived-At: > Since 23.1, Emacs on w32 allows the scroll thumb to shrink while being > dragged at the bottom of the buffer. Previous versions fixed the size of > the thumb while dragging, which I think is the brain damage which GTK forces > on you that Miles is refering to, as you are unable to reach the bottom of > the buffer by dragging the scrollbar in some circumstances because of > assumptions Emacs makes to relate characters to pages of scrolling without > wasting time doing a full calculation over the buffer. Not sure how it works on w32, but yes on Gtk IIRC the thumb can't be resized during dragging. In Xaw3d the problem was halfway: the code was/is able to resize the thumb during a drag, but the thumb may hit the bottom too soon, in case we haven't resized it quickly enough. My favorite solution to those problem nowadays is to set the thumb-size to its minimum (typically 0, which results in a small but no invisible thumb) during dragging: makes for smooth scrolling (without the need to resize the thumb during scrolling) while still allowing the thumb size to correctly reflect the begin&end of the viewed area when not scrolling. Stefan