diff options
Diffstat (limited to 'protocol')
| -rw-r--r-- | protocol/Makefile.am | 1 | ||||
| -rw-r--r-- | protocol/README.txt | 5 | ||||
| -rw-r--r-- | protocol/desktop-shell.xml | 119 |
3 files changed, 125 insertions, 0 deletions
diff --git a/protocol/Makefile.am b/protocol/Makefile.am new file mode 100644 index 0000000..ff9219a --- /dev/null +++ b/protocol/Makefile.am @@ -0,0 +1 @@ +EXTRA_DIST = desktop-shell.xml diff --git a/protocol/README.txt b/protocol/README.txt new file mode 100644 index 0000000..242d1b9 --- /dev/null +++ b/protocol/README.txt @@ -0,0 +1,5 @@ +desktop.shell.xml is a straight copy of the one in freedesktop's weston and we +want to use the same version containing there: + + "protocol: XML files need to be installed and discoverable" + https://bugs.freedesktop.org/show_bug.cgi?id=55183 diff --git a/protocol/desktop-shell.xml b/protocol/desktop-shell.xml new file mode 100644 index 0000000..2b6afbd --- /dev/null +++ b/protocol/desktop-shell.xml @@ -0,0 +1,119 @@ +<protocol name="desktop"> + + <interface name="desktop_shell" version="1"> + <description summary="create desktop widgets and helpers"> + Traditional user interfaces can rely on this interface to define the + foundations of typical desktops. Currently it's possible to set up + background, panels and locking surfaces. + </description> + + <request name="set_background"> + <arg name="output" type="object" interface="wl_output"/> + <arg name="surface" type="object" interface="wl_surface"/> + </request> + + <request name="set_panel"> + <arg name="output" type="object" interface="wl_output"/> + <arg name="surface" type="object" interface="wl_surface"/> + </request> + + <request name="set_lock_surface"> + <arg name="surface" type="object" interface="wl_surface"/> + </request> + + <request name="unlock"/> + + <request name="set_grab_surface"> + <description summary="set grab surface"> + The surface set by this request will receive a fake + pointer.enter event during grabs at position 0, 0 and is + expected to set an appropriate cursor image as described by + the grab_cursor event sent just before the enter event. + </description> + <arg name="surface" type="object" interface="wl_surface"/> + </request> + + <!-- We'll fold most of wl_shell into this interface and then + they'll share the configure event. --> + <event name="configure"> + <arg name="edges" type="uint"/> + <arg name="surface" type="object" interface="wl_surface"/> + <arg name="width" type="int"/> + <arg name="height" type="int"/> + </event> + + <event name="prepare_lock_surface"> + <description summary="tell the client to create, set the lock surface"> + Tell the shell we want it to create and set the lock surface, which is + a GUI asking the user to unlock the screen. The lock surface is + announced with 'set_lock_surface'. Whether or not the shell actually + implements locking, it MUST send 'unlock' request to let the normal + desktop resume. + </description> + </event> + + <event name="grab_cursor"> + <description summary="tell client what cursor to show during a grab"> + This event will be sent immediately before a fake enter event on the + grab surface. + </description> + <arg name="cursor" type="uint"/> + </event> + + <enum name="cursor"> + <entry name="none" value="0"/> + + <entry name="resize_top" value="1"/> + <entry name="resize_bottom" value="2"/> + + <entry name="arrow" value="3"/> + + <entry name="resize_left" value="4"/> + <entry name="resize_top_left" value="5"/> + <entry name="resize_bottom_left" value="6"/> + + <entry name="move" value="7"/> + + <entry name="resize_right" value="8"/> + <entry name="resize_top_right" value="9"/> + <entry name="resize_bottom_right" value="10"/> + + <entry name="busy" value="11"/> + </enum> + </interface> + + <interface name="screensaver" version="1"> + <description summary="interface for implementing screensavers"> + Only one client can bind this interface at a time. + </description> + + <request name="set_surface"> + <description summary="set the surface type as a screensaver"> + A screensaver surface is normally hidden, and only visible after an + idle timeout. + </description> + + <arg name="surface" type="object" interface="wl_surface"/> + <arg name="output" type="object" interface="wl_output"/> + </request> + + </interface> + + <interface name="input_panel" version="1"> + <description summary="interface for implementing keyboards"> + Only one client can bind this interface at a time. + </description> + + <request name="set_surface"> + <description summary="set the surface type as a keyboard"> + A keybaord surface is only shown, when a text model is active + </description> + + <arg name="surface" type="object" interface="wl_surface"/> + <arg name="output" type="object" interface="wl_output"/> + </request> + + </interface> + + +</protocol> |
