[PATCH xserver 4/4] xwayland: Track new protocol for xwm split

Tiago Vignatti tiago.vignatti at intel.com
Wed Dec 12 07:26:32 PST 2012


No functional changes on X side.

Signed-off-by: Tiago Vignatti <tiago.vignatti at intel.com>
---
 hw/xfree86/xwayland/xserver.xml |   43 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 42 insertions(+), 1 deletion(-)

diff --git a/hw/xfree86/xwayland/xserver.xml b/hw/xfree86/xwayland/xserver.xml
index 3779d1a..eef6874 100644
--- a/hw/xfree86/xwayland/xserver.xml
+++ b/hw/xfree86/xwayland/xserver.xml
@@ -97,6 +97,42 @@
       <arg name="flags" type="uint"/>
     </request>
 
+    <request name="set_opaque_override">
+      <description summary="set opaque override region">
+	Textures coming from X windows usually have their X window as RGBx,
+	i.e. 32 bit with an undefined alpha channel for the content part while
+	the decorations are rendered with a well-defined alpha channel. On
+	this case set_opaque_override is needed for marking a rectangle in a
+	texture and force the alpha = 1.0.
+
+	This is different from the wl_surface.set_opaque_region, where that
+	one is meant only as a hint for optimization while this is a necessity
+	for painting XWayland windows right. Therefore X must never use
+	wl_surface.set_opaque_region either.
+      </description>
+
+      <arg name="id" type="uint"/>
+      <arg name="region" type="object" interface="wl_region"/>
+    </request>
+
+    <request name="set_input_region">
+      <description summary="set window id input region">
+      </description>
+
+      <arg name="id" type="uint"/>
+      <arg name="region" type="object" interface="wl_region" allow-null="true"/>
+    </request>
+
+    <request name="send_selection">
+      <description summary="send the selection data">
+	Request for data from another client.  Send the data as the specified
+	mime-type over the passed fd.
+      </description>
+
+      <arg name="mime_type" type="string"/>
+      <arg name="fd" type="fd"/>
+    </request>
+
     <request name="move">
       <arg name="id" type="uint"/>
     </request>
@@ -135,15 +171,20 @@
         Describes the window state the Wayland compositor desires.
       </description>
 
+      <entry name="deactivate" value="0" summary="deactivate all the windows"/>
       <entry name="activate" value="1" summary="activate and give focus"/>
       <entry name="kill" value="2" summary="send a kill signal"/>
+      <entry name="selection" value="3" summary="selection and its mime type"/>
     </enum>
 
     <event name="window_state">
       <description summary="notifies window manager about window state">
+	'activate' and 'kill' require info argument while 'deactivate' does
+	not. 'selection' uses info for telling whether there is a plain text
+	on the selection.
       </description>
 
-      <arg name="id" type="uint"/>
+      <arg name="info" type="uint"/>
       <arg name="state" type="uint"/>
     </event>
   </interface>
-- 
1.7.9.5



More information about the wayland-devel mailing list