3 This is an experimental branch to enable embedding of GTK widgets
4 inside an Emacs window. The Emacs abstraction is called an Xwidget,
5 for eXternal widget, and also in reference to the Xembed protocoll.
7 There is a demo file called xwidget-test.el which shows some of the
8 possibilities. There are some screnshots at the emacswiki.
10 Currently its possible to insert buttons, sliders, and xembed widgets
11 in the buffer. It works similar to the support for images in Emacs.
12 Adding more types of widgets should be fairly straightforward, but
13 will require adapter code for each type.
15 A difference from images is that xwidgets live their own life. You
16 create them with an api, get a reference, and tie them to a particular
17 buffer with a display spec. Also, xwidgets exists in only one copy,
18 where a plain image can be shown in several windows. The xwidget code
19 tries to handle this by essentialy making a screen capture of the
20 widget and displaying those in the non-active windows, and the real
21 widget in the active window. This doesnt currently work for xembed
24 The current state is that one window, one frame, showing many xwidgets
30 - Examine using XComposite rather than GTK off-screen rendering. This
31 would make xembed widgets work much better.
33 - make the keyboard event code propagation code work.
35 - remove the special-case for when the minibuffer is
36 active. Special-casing will never work properly.
38 - disable emacs cursor drawing on top of an active xwidget
40 - figure out what to do with the multiple frames case
42 - improve the xwidgets programming interface so its less of
47 - look into more ways of displaying xwidgets, like binding them to a
48 window rather than a point in a buffer.