summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@bitplanet.net>2012-01-05 08:50:25 -0500
committerKristian Høgsberg <krh@bitplanet.net>2012-01-06 11:40:02 -0500
commitb2e619c7409a98936233b5f8afb8797f5ac457e9 (patch)
treedb88d1f182d4b8071a9fb93132402ab0b651ad98
parentb6b3d07c83481a4435a3b03f2ea6c5dfa600f8f5 (diff)
Add new wl_shell popup surface type
-rw-r--r--protocol/wayland.xml26
1 files changed, 26 insertions, 0 deletions
diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index 0c3a4ef..78d4734 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -347,6 +347,27 @@
active? -->
<request name="set_fullscreen"/>
+ <!-- Popup surfaces. Will switch an implicit grab into
+ owner-events mode, and grab will continue after the implicit
+ grab ends (button released). Once the implicit grab is over,
+ the popup grab continues until the window is destroyed or a
+ mouse button is pressed in any other clients window. A click
+ in any of the clients surfaces is reported as normal,
+ however, clicks in other clients surfaces will be discarded
+ and trigger the callback.
+
+ TODO: Grab keyboard too, maybe just terminate on any click
+ inside or outside the surface?
+ -->
+ <request name="set_popup">
+ <arg name="input_device" type="object" interface="wl_input_device"/>
+ <arg name="time" type="uint"/>
+ <arg name="parent" type="object" interface="wl_shell_surface"/>
+ <arg name="x" type="int"/>
+ <arg name="y" type="int"/>
+ <arg name="flags" type="uint"/>
+ </request>
+
<!-- The configure event asks the client to resize its surface.
The size is a hint, in the sense that the client is free to
ignore it if it doesn't resize, pick a smaller size (to
@@ -359,6 +380,11 @@
<arg name="width" type="int"/>
<arg name="height" type="int"/>
</event>
+
+ <!-- The popup_done event is sent out when a popup grab is broken,
+ that is, when the users clicks a surface that doesn't belong
+ to the client owning the popup surface. -->
+ <event name="popup_done"/>
</interface>