From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Jan D." Newsgroups: gmane.emacs.devel Subject: Re: Emacs GTK scroll-bar flickering Date: Fri, 14 Mar 2003 19:46:47 +0100 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <3E722397.8080900@swipnet.se> References: <84isum9rn9.fsf@lucy.is.informatik.uni-duisburg.de> <84r89aw20u.fsf@lucy.is.informatik.uni-duisburg.de> <20030314133509.GA32155@gnu.org> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Trace: main.gmane.org 1047667738 29956 80.91.224.249 (14 Mar 2003 18:48:58 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Fri, 14 Mar 2003 18:48:58 +0000 (UTC) Cc: Kai Gro?johann Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Fri Mar 14 19:48:53 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 18tuEf-0007mB-00 for ; Fri, 14 Mar 2003 19:48:53 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 18tucz-0001EF-00 for ; Fri, 14 Mar 2003 20:14:01 +0100 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 18tuEv-0003Hr-06 for emacs-devel@quimby.gnus.org; Fri, 14 Mar 2003 13:49:09 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18tuEI-0002rh-00 for emacs-devel@gnu.org; Fri, 14 Mar 2003 13:48:30 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18tuDe-0001uO-00 for emacs-devel@gnu.org; Fri, 14 Mar 2003 13:47:51 -0500 Original-Received: from stubby.bodenonline.com ([193.201.16.94]) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18tuCi-0001MP-00; Fri, 14 Mar 2003 13:46:52 -0500 Original-Received: from swipnet.se (accessno42.bodenonline.com [193.201.16.44]) h2EJdTbL032580; Fri, 14 Mar 2003 20:39:29 +0100 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3b) Gecko/20030210 X-Accept-Language: en-us, en Original-To: Miles Bader In-Reply-To: <20030314133509.GA32155@gnu.org> 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:12360 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:12360 Miles Bader wrote: > On Fri, Mar 14, 2003 at 01:44:49PM +0100, Kai Gro?johann wrote: > >>Maybe I'm blind or something... > > > I suspect that you're probably just using a GTK theme where it's less > noticable; I use a pixmap theme (i.e., a bit slow to draw) with a lot of > contrasty bits, which makes the flicker _very_ obvious. With other themes > (e.g. the default), it's not as obvious, but I can see that it's still > happening. Also, I suppose it may be related to the GTK version, etc. > > BTW, it's not just inserting characters at the end of the buffer that does > it, it's essentially _every single command_ (it even flickers if you just let > it sit there and do nothing!). Internally in Emacs x_set_toolkit_scroll_bar_thumb gets called a lot, for example when the cursor moves. One would think it should only be called when needed (i.e. anithing changed scrollbar-wise). This coupled with the fact that scroll bar redraws in GTK seems to be particulary bad, makes the flicker happen. I can just see it when opening a large file and pressing down arrow so the cursor goes from top to bottom rapidly. I do not have a pixmap theme either. I am reluctant to change how x_set_toolkit_scroll_bar_thumb gets called as it might break something, so I added a fix for GTK instead. Please try it. Scroll bar redraws have been a problem the whole time, for example, getting it to redraw when moving the scroll bar from the left to the right, getting it to clear the background (i.e. behind the thumb) when splitting a window, etc. Jan D.