From b820b82cad2a657935f445b1120f3ab55e80ea7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Thu, 4 Dec 2008 18:40:14 -0500 Subject: [PATCH] Add note about how clients could embed other applications. --- NOTES | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/NOTES b/NOTES index 8c49bacd..48836fe4 100644 --- a/NOTES +++ b/NOTES @@ -140,4 +140,24 @@ the type of event. Events are generated both in repsonse to a request spontanously when the server state changes. the get_interface method is called on an object to get an object -handle that implements the specified interface. \ No newline at end of file +handle that implements the specified interface. + + +EMBEDDING OTHER WINDOWS + +X11 lets clients embed windows from other clients other copy pixmap +contents rendered by another client into their window. This is often +used for applets in a panel, browser plugins and similar. Wayland +doesn't directly allow this, but clients can communicate GEM buffer +names out-of-band, for example, using d-bus or as command line +arguments when the panel launches the applet. Another option is to +use a nested wayland instance. For this, the wayland server will have +to be a library that the host application links to. The host +application will then pass the wayland server socket name to the +embedded application, and will need to implement the wayland +compositor interface. The host application composites the client +surfaces as part of it's window, that is, in the web page or in the +panel. The benefit of nesting the wayland server is that it provides +the requests the embedded client needs to inform the host about buffer +updates and a mechanism for forwarding input events from the host +application.