shell: Make input_panel just a regular wl_surface
[profile/ivi/weston-ivi-shell.git] / protocol / desktop-shell.xml
1 <protocol name="desktop">
2
3   <interface name="desktop_shell" version="1">
4     <description summary="create desktop widgets and helpers">
5       Traditional user interfaces can rely on this interface to define the
6       foundations of typical desktops. Currently it's possible to set up
7       background, panels and locking surfaces.
8     </description>
9
10     <request name="set_background">
11       <arg name="output" type="object" interface="wl_output"/>
12       <arg name="surface" type="object" interface="wl_surface"/>
13     </request>
14
15     <request name="set_panel">
16       <arg name="output" type="object" interface="wl_output"/>
17       <arg name="surface" type="object" interface="wl_surface"/>
18     </request>
19
20     <request name="set_lock_surface">
21       <arg name="surface" type="object" interface="wl_surface"/>
22     </request>
23
24     <request name="unlock"/>
25
26     <request name="set_busy_surface">
27       <arg name="surface" type="object" interface="wl_surface"/>
28     </request>
29
30     <!-- We'll fold most of wl_shell into this interface and then
31          they'll share the configure event.  -->
32     <event name="configure">
33       <arg name="edges" type="uint"/>
34       <arg name="surface" type="object" interface="wl_surface"/>
35       <arg name="width" type="int"/>
36       <arg name="height" type="int"/>
37     </event>
38
39     <event name="prepare_lock_surface">
40       <description summary="tell the client to create, set the lock surface">
41         Tell the shell we want it to create and set the lock surface, which is
42         a GUI asking the user to unlock the screen. The lock surface is
43         announced with 'set_lock_surface'. Whether or not the shell actually
44         implements locking, it MUST send 'unlock' request to let the normal
45         desktop resume.
46       </description>
47     </event>
48   </interface>
49
50   <interface name="screensaver" version="1">
51     <description summary="interface for implementing screensavers">
52       Only one client can bind this interface at a time.
53     </description>
54
55     <request name="set_surface">
56       <description summary="set the surface type as a screensaver">
57         A screensaver surface is normally hidden, and only visible after an
58         idle timeout.
59       </description>
60
61       <arg name="surface" type="object" interface="wl_surface"/>
62       <arg name="output" type="object" interface="wl_output"/>
63     </request>
64
65   </interface>
66
67   <interface name="input_panel" version="1">
68     <description summary="interface for implementing keyboards">
69       Only one client can bind this interface at a time.
70     </description>
71
72     <request name="set_surface">
73       <description summary="set the surface type as a keyboard">
74         A keybaord surface is only shown, when a text model is active
75       </description>
76
77       <arg name="surface" type="object" interface="wl_surface"/>
78       <arg name="output" type="object" interface="wl_output"/>
79     </request>
80
81   </interface>
82
83
84 </protocol>