summaryrefslogtreecommitdiff
path: root/protocol
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@bitplanet.net>2014-02-11 12:22:51 -0800
committerKristian Høgsberg <krh@bitplanet.net>2014-02-11 16:22:10 -0800
commit2bff94e057f91f6a483b34421bec2e24b9765f4f (patch)
tree3114f7ca640fedf565abfec3de5c3a2368e61649 /protocol
parentcbb915816249a68c34e8a290ca89c8aae669c461 (diff)
downloadweston-2bff94e057f91f6a483b34421bec2e24b9765f4f.tar.gz
xdg-shell: Move "ping" and "pong" to xdg_shell, not xdg_surface
Responsivenes is a per-client thing so we move the ping/pong functionality to xdg_shell. Having this per-window was carries over from the EWMH protocol, where the WM has no other way to do this. In wayland, the compositor can directly ping the client that owns the surface.
Diffstat (limited to 'protocol')
-rw-r--r--protocol/xdg-shell.xml54
1 files changed, 22 insertions, 32 deletions
diff --git a/protocol/xdg-shell.xml b/protocol/xdg-shell.xml
index f0d04aa3..d122ff5e 100644
--- a/protocol/xdg-shell.xml
+++ b/protocol/xdg-shell.xml
@@ -84,6 +84,28 @@
<arg name="y" type="int"/>
<arg name="flags" type="uint"/>
</request>
+
+ <event name="ping">
+ <description summary="check if the client is alive">
+ The ping event asks the client if it's still alive. Pass the
+ serial specified in the event back to the compositor by sending
+ a "pong" request back with the specified serial.
+
+ Compositors can use this to determine if the client is still
+ alive. It's unspecified what will happen if the client doesn't
+ respond to the ping request, or in what timeframe. Clients should
+ try to respond in a reasonable amount of time.
+ </description>
+ <arg name="serial" type="uint" summary="pass this to the callback"/>
+ </event>
+
+ <request name="pong">
+ <description summary="respond to a ping event">
+ A client must respond to a ping event with a pong request or
+ the client may be deemed unresponsive.
+ </description>
+ <arg name="serial" type="uint" summary="serial of the ping event"/>
+ </request>
</interface>
<interface name="xdg_surface" version="1">
@@ -176,22 +198,6 @@
<arg name="app_id" type="string"/>
</request>
- <request name="pong">
- <description summary="respond to a ping event">
- A client must respond to a ping event with a pong request or
- the client may be deemed unresponsive.
- </description>
- <arg name="serial" type="uint" summary="serial of the ping event"/>
- </request>
-
- <event name="ping">
- <description summary="ping client">
- Ping a client to check if it is receiving events and sending
- requests. A client is expected to reply with a pong request.
- </description>
- <arg name="serial" type="uint"/>
- </event>
-
<request name="move">
<description summary="start an interactive move">
Start a pointer-driven move of the surface.
@@ -447,22 +453,6 @@
</description>
</request>
- <request name="pong">
- <description summary="respond to a ping event">
- A client must respond to a ping event with a pong request or
- the client may be deemed unresponsive.
- </description>
- <arg name="serial" type="uint" summary="serial of the ping event"/>
- </request>
-
- <event name="ping">
- <description summary="ping client">
- Ping a client to check if it is receiving events and sending
- requests. A client is expected to reply with a pong request.
- </description>
- <arg name="serial" type="uint"/>
- </event>
-
<event name="popup_done">
<description summary="popup interaction is done">
The popup_done event is sent out when a popup grab is broken,