summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiago Vignatti <tiago.vignatti@intel.com>2012-11-30 16:43:31 -0200
committerTiago Vignatti <tiago.vignatti@intel.com>2012-12-12 12:09:05 -0200
commit8592c02753308ec1df437324a6e1e2c42e64a07f (patch)
tree371e39e77eb27b79d3939114609c8c077bd545b0
parentbfdf44ec48589a971593f75b5e0d4af05dadbe95 (diff)
protocol: Add set_xwayland request for new shell surface typexwm-client
X11 apps use global coordinates most of the time for window placement and the current approach we have, where transient windows is placed parent relative, is not sufficient. IOW we can't use the relation of parent <-> child coordinates because we can't go out there and fix all the clients to place subwindows relative. Besides, it has to be a separate wl_shell_surface request specifically for XWayland because we don't want stock Wayland applications using global coordinates either. At the moment only one method for XWayland windows was implemented, which is the 'inactive' to not set focus when the window is configured. Later we will want to add a few more methods for dealing with different types of windows. Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
-rw-r--r--protocol/wayland.xml20
1 files changed, 20 insertions, 0 deletions
diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index 0ce68ef..e6df6f3 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -683,6 +683,26 @@
<arg name="output" type="object" interface="wl_output" allow-null="true"/>
</request>
+ <enum name="xwayland">
+ <description summary="XWayland surface types">
+ </description>
+
+ <entry name="inactive" value="0x1" summary="do not set keyboard focus"/>
+ </enum>
+
+ <request name="set_xwayland">
+ <description summary="make the surface a X11 type of surface">
+ X11 apps use global coordinates most of the time for window placement
+ and this request has to be used only for X Windows. Hence, the
+ coordinates 'x' and 'y' that are global, ie relative to window output
+ dimensions.
+ </description>
+
+ <arg name="x" type="int"/>
+ <arg name="y" type="int"/>
+ <arg name="method" type="uint"/>
+ </request>
+
<request name="set_title">
<description summary="set surface title">
</description>