compositor: Set WAYLAND_DISPLAY only after creating backend
[profile/ivi/weston.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_grab_surface">
27       <description summary="set grab surface">
28         The surface set by this request will receive a fake
29         pointer.enter event during grabs at position 0, 0 and is
30         expected to set an appropriate cursor image as described by
31         the grab_cursor event sent just before the enter event.
32       </description>
33       <arg name="surface" type="object" interface="wl_surface"/>
34     </request>
35
36     <!-- We'll fold most of wl_shell into this interface and then
37          they'll share the configure event.  -->
38     <event name="configure">
39       <arg name="edges" type="uint"/>
40       <arg name="surface" type="object" interface="wl_surface"/>
41       <arg name="width" type="int"/>
42       <arg name="height" type="int"/>
43     </event>
44
45     <event name="prepare_lock_surface">
46       <description summary="tell the client to create, set the lock surface">
47         Tell the shell we want it to create and set the lock surface, which is
48         a GUI asking the user to unlock the screen. The lock surface is
49         announced with 'set_lock_surface'. Whether or not the shell actually
50         implements locking, it MUST send 'unlock' request to let the normal
51         desktop resume.
52       </description>
53     </event>
54
55     <event name="grab_cursor">
56       <description summary="tell client what cursor to show during a grab">
57         This event will be sent immediately before a fake enter event on the
58         grab surface.
59       </description>
60       <arg name="cursor" type="uint"/>
61     </event>
62
63     <enum name="cursor">
64       <entry name="none" value="0"/>
65
66       <entry name="resize_top" value="1"/>
67       <entry name="resize_bottom" value="2"/>
68
69       <entry name="arrow" value="3"/>
70
71       <entry name="resize_left" value="4"/>
72       <entry name="resize_top_left" value="5"/>
73       <entry name="resize_bottom_left" value="6"/>
74
75       <entry name="move" value="7"/>
76
77       <entry name="resize_right" value="8"/>
78       <entry name="resize_top_right" value="9"/>
79       <entry name="resize_bottom_right" value="10"/>
80
81       <entry name="busy" value="11"/>
82     </enum>
83   </interface>
84
85   <interface name="screensaver" version="1">
86     <description summary="interface for implementing screensavers">
87       Only one client can bind this interface at a time.
88     </description>
89
90     <request name="set_surface">
91       <description summary="set the surface type as a screensaver">
92         A screensaver surface is normally hidden, and only visible after an
93         idle timeout.
94       </description>
95
96       <arg name="surface" type="object" interface="wl_surface"/>
97       <arg name="output" type="object" interface="wl_output"/>
98     </request>
99
100   </interface>
101
102   <interface name="input_panel" version="1">
103     <description summary="interface for implementing keyboards">
104       Only one client can bind this interface at a time.
105     </description>
106
107     <request name="set_surface">
108       <description summary="set the surface type as a keyboard">
109         A keybaord surface is only shown, when a text model is active
110       </description>
111
112       <arg name="surface" type="object" interface="wl_surface"/>
113       <arg name="output" type="object" interface="wl_output"/>
114     </request>
115
116   </interface>
117
118
119 </protocol>