From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: joakim@verona.se Newsgroups: gmane.emacs.devel Subject: Re: xwidget branch Date: Thu, 01 Jul 2010 21:28:27 +0200 Message-ID: References: <4C2B309B.8000402@swipnet.se> <4C2CB9BE.8000204@swipnet.se> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1278014646 30461 80.91.229.12 (1 Jul 2010 20:04:06 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 1 Jul 2010 20:04:06 +0000 (UTC) Cc: Emacs development discussions To: Jan =?iso-8859-1?Q?Dj=E4rv?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jul 01 22:04:00 2010 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.69) (envelope-from ) id 1OUPzL-0003Uu-CL for ged-emacs-devel@m.gmane.org; Thu, 01 Jul 2010 22:03:59 +0200 Original-Received: from localhost ([127.0.0.1]:34231 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OUPzK-0007Ok-Q5 for ged-emacs-devel@m.gmane.org; Thu, 01 Jul 2010 16:03:58 -0400 Original-Received: from [140.186.70.92] (port=47061 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OUPR7-0001j9-EZ for emacs-devel@gnu.org; Thu, 01 Jul 2010 15:28:42 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OUPR1-0008MX-27 for emacs-devel@gnu.org; Thu, 01 Jul 2010 15:28:37 -0400 Original-Received: from iwfs.imcode.com ([82.115.149.64]:46022 helo=gate.verona.se) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OUPR0-0008M9-Nh for emacs-devel@gnu.org; Thu, 01 Jul 2010 15:28:31 -0400 Original-Received: from localhost.localdomain (IDENT:1005@localhost [127.0.0.1]) by gate.verona.se (8.13.4/8.11.4) with ESMTP id o61JSRxH015499; Thu, 1 Jul 2010 21:28:27 +0200 In-Reply-To: <4C2CB9BE.8000204@swipnet.se> ("Jan =?iso-8859-1?Q?Dj=E4rv=22?= =?iso-8859-1?Q?'s?= message of "Thu, 01 Jul 2010 17:52:30 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4-2.6 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:126653 Archived-At: Jan Dj=E4rv writes: > joakim@verona.se skrev 2010-06-30 15.09: >> Jan Dj=E4rv writes: >> >>> This sounds like fun. How do you handle multiple windows, that is the >>> same buffer with widgets displayed in different frames/windows? >> >> There are some notes in the readme. I paste it below so we can discuss it >> and improve it. This is as you might imagine the really tricky part. >> >> > > I guess it takes some kind of proxy object that keeps track of > creating the real widget for each window. GtkAction:s can help here. > You can have a GtkAction instead of the real widget. When redisplay > is done, check all proxy widgets for the GtkAction, and if no one is > present for the window, create one. The window can be saved in the > real widget as widget data. Ill have to look into that idea. Would it really work for all sorts of widgets, like sliders? Maybe you can elaborate a bit more, it sounds interesting.=20=20 > I think the "don't display cursor over widget"-problem should have > some precedence, it really looks awful :-). Its not spectacularily beautiful no. But doesnt images have the same issues? Maybe images have some cursor handling code that can be reused? > I see lots of redisplay-problems with widgets, but that is to expected > as Emacs doesn't use the Gtk+ event loop. It took a while before Gtk+ > scrollbars displayed nicely, and even now bugs show up. You have to > request redraw on widgets and flush the Gdk event queue manually at > appropriate places. Do you have any example pointers in the Emacs source handy? >>> Does the widgets always flow with the text or can you anchor them at >>> fixed positions? I was thinking of per window toolbars. >> >> They work like images. It ought to be possible to bind them to a margin >> or something like images, but I havent tested this. Also like images >> they are not tied to a window but to a buffer. OTOH xwidgets have, >> unlike images, their own identity, and I have been thinking of letting >> an xwidget be able to replace an entire window, etc. >> > > I'll give it a try. > > Jan D. > > --=20 Joakim Verona