ffbb20f730
Move the input_panel interface from desktop-shell to input-method (since it is not really tied to desktop-shell). Add an input_panel_surface interface like wl_shell_surface to make it easier to extend it. Also add a parameter to the set_toplevel request to be able to specify where to show an input panel surface on the screen. Signed-off-by: Jan Arne Petersen <jpetersen@openismus.com>
102 lines
3.4 KiB
XML
102 lines
3.4 KiB
XML
<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>
|
|
</protocol>
|