aboutsummaryrefslogtreecommitdiffstats
path: root/README.xwidget
diff options
context:
space:
mode:
authorJoakim Verona2010-06-23 13:19:18 +0200
committerJoakim Verona2010-06-23 13:19:18 +0200
commitff982c322045ced3480f3a36fcf05acaf84547c1 (patch)
tree4efe998261ff6d0f8752ebeeb84938e6a7b6effc /README.xwidget
parent14d0b57c0e88c730d676197f923a18d6b926b6ed (diff)
parent04c23739823fecd98cbc06ad627b36e5bd8e482e (diff)
downloademacs-ff982c322045ced3480f3a36fcf05acaf84547c1.tar.gz
emacs-ff982c322045ced3480f3a36fcf05acaf84547c1.zip
erge and a readme
Diffstat (limited to 'README.xwidget')
-rw-r--r--README.xwidget43
1 files changed, 43 insertions, 0 deletions
diff --git a/README.xwidget b/README.xwidget
new file mode 100644
index 00000000000..06c49a9301c
--- /dev/null
+++ b/README.xwidget
@@ -0,0 +1,43 @@
1* Xwidgets
2
3This is an experimental branch to enable embedding of GTK widgets
4inside an Emacs window. The Emacs abstraction is called an Xwidget,
5for eXternal widget, and also in reference to the Xembed protocoll.
6
7There is a demo file called xwidget-test.el which shows some of the
8possibilities. There are some screnshots at the emacswiki.
9
10Currently its possible to insert buttons, sliders, and xembed widgets
11in the buffer. It works similar to the support for images in Emacs.
12
13A difference from images is that xwidgets live their own life. You
14create them with an api, get a reference, and tie them to a particular
15buffer with a display spec. Also, xwidgets exists in only one copy,
16where a plain image can be shown in several windows. The xwidget code
17tries to handle this by essentialy making a screen capture of the
18widget and displaying those in the non-active windows, and the real
19widget in the active window. This doesnt currently work for xembed
20widgets.
21
22The current state is that one window, one frame, showing many xwidgets
23is a nice demo.
24
25
26TODO
27
28- Examine using XComposite rather than GTK off-screen rendering. This
29 would make xembed widgets work much better.
30
31- make the keyboard event code propagation code work.
32
33- remove the special-case for when the minibuffer is
34 active. Special-casing will never work properly.
35
36- disable cursor drawing on top of an active xwidget
37
38- figure out what to do with the multiple frames case
39
40- improve the xwidgets programming interface so its less of
41 hand-waving affair
42
43- more documentation \ No newline at end of file