all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Jan Djärv" <jan.h.d@swipnet.se>
To: joakim@verona.se
Cc: Emacs development discussions <emacs-devel@gnu.org>
Subject: Re: xwidget branch
Date: Thu, 01 Jul 2010 17:52:30 +0200	[thread overview]
Message-ID: <4C2CB9BE.8000204@swipnet.se> (raw)
In-Reply-To: <m339w4is4w.fsf@verona.se>



joakim@verona.se skrev 2010-06-30 15.09:
> Jan Djärv<jan.h.d@swipnet.se>  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.

I think the "don't display cursor over widget"-problem should have some 
precedence, it really looks awful :-).

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.

>> 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.




  reply	other threads:[~2010-07-01 15:52 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-23 11:35 xwidget branch joakim
2010-06-30 11:55 ` Jan Djärv
2010-06-30 13:09   ` joakim
2010-07-01 15:52     ` Jan Djärv [this message]
2010-07-01 19:28       ` joakim
2010-07-02  8:40         ` Jan Djärv

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C2CB9BE.8000204@swipnet.se \
    --to=jan.h.d@swipnet.se \
    --cc=emacs-devel@gnu.org \
    --cc=joakim@verona.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.