1*6c119a46SAndroid Build Coastguard Worker<?xml version="1.0" encoding="UTF-8"?>
2*6c119a46SAndroid Build Coastguard Worker<protocol name="idle_inhibit_unstable_v1">
3*6c119a46SAndroid Build Coastguard Worker
4*6c119a46SAndroid Build Coastguard Worker  <copyright>
5*6c119a46SAndroid Build Coastguard Worker    Copyright © 2015 Samsung Electronics Co., Ltd
6*6c119a46SAndroid Build Coastguard Worker
7*6c119a46SAndroid Build Coastguard Worker    Permission is hereby granted, free of charge, to any person obtaining a
8*6c119a46SAndroid Build Coastguard Worker    copy of this software and associated documentation files (the "Software"),
9*6c119a46SAndroid Build Coastguard Worker    to deal in the Software without restriction, including without limitation
10*6c119a46SAndroid Build Coastguard Worker    the rights to use, copy, modify, merge, publish, distribute, sublicense,
11*6c119a46SAndroid Build Coastguard Worker    and/or sell copies of the Software, and to permit persons to whom the
12*6c119a46SAndroid Build Coastguard Worker    Software is furnished to do so, subject to the following conditions:
13*6c119a46SAndroid Build Coastguard Worker
14*6c119a46SAndroid Build Coastguard Worker    The above copyright notice and this permission notice (including the next
15*6c119a46SAndroid Build Coastguard Worker    paragraph) shall be included in all copies or substantial portions of the
16*6c119a46SAndroid Build Coastguard Worker    Software.
17*6c119a46SAndroid Build Coastguard Worker
18*6c119a46SAndroid Build Coastguard Worker    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19*6c119a46SAndroid Build Coastguard Worker    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20*6c119a46SAndroid Build Coastguard Worker    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
21*6c119a46SAndroid Build Coastguard Worker    THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22*6c119a46SAndroid Build Coastguard Worker    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23*6c119a46SAndroid Build Coastguard Worker    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24*6c119a46SAndroid Build Coastguard Worker    DEALINGS IN THE SOFTWARE.
25*6c119a46SAndroid Build Coastguard Worker  </copyright>
26*6c119a46SAndroid Build Coastguard Worker
27*6c119a46SAndroid Build Coastguard Worker  <interface name="zwp_idle_inhibit_manager_v1" version="1">
28*6c119a46SAndroid Build Coastguard Worker    <description summary="control behavior when display idles">
29*6c119a46SAndroid Build Coastguard Worker      This interface permits inhibiting the idle behavior such as screen
30*6c119a46SAndroid Build Coastguard Worker      blanking, locking, and screensaving.  The client binds the idle manager
31*6c119a46SAndroid Build Coastguard Worker      globally, then creates idle-inhibitor objects for each surface.
32*6c119a46SAndroid Build Coastguard Worker
33*6c119a46SAndroid Build Coastguard Worker      Warning! The protocol described in this file is experimental and
34*6c119a46SAndroid Build Coastguard Worker      backward incompatible changes may be made. Backward compatible changes
35*6c119a46SAndroid Build Coastguard Worker      may be added together with the corresponding interface version bump.
36*6c119a46SAndroid Build Coastguard Worker      Backward incompatible changes are done by bumping the version number in
37*6c119a46SAndroid Build Coastguard Worker      the protocol and interface names and resetting the interface version.
38*6c119a46SAndroid Build Coastguard Worker      Once the protocol is to be declared stable, the 'z' prefix and the
39*6c119a46SAndroid Build Coastguard Worker      version number in the protocol and interface names are removed and the
40*6c119a46SAndroid Build Coastguard Worker      interface version number is reset.
41*6c119a46SAndroid Build Coastguard Worker    </description>
42*6c119a46SAndroid Build Coastguard Worker
43*6c119a46SAndroid Build Coastguard Worker    <request name="destroy" type="destructor">
44*6c119a46SAndroid Build Coastguard Worker      <description summary="destroy the idle inhibitor object">
45*6c119a46SAndroid Build Coastguard Worker	Destroy the inhibit manager.
46*6c119a46SAndroid Build Coastguard Worker      </description>
47*6c119a46SAndroid Build Coastguard Worker    </request>
48*6c119a46SAndroid Build Coastguard Worker
49*6c119a46SAndroid Build Coastguard Worker    <request name="create_inhibitor">
50*6c119a46SAndroid Build Coastguard Worker      <description summary="create a new inhibitor object">
51*6c119a46SAndroid Build Coastguard Worker	Create a new inhibitor object associated with the given surface.
52*6c119a46SAndroid Build Coastguard Worker      </description>
53*6c119a46SAndroid Build Coastguard Worker      <arg name="id" type="new_id" interface="zwp_idle_inhibitor_v1"/>
54*6c119a46SAndroid Build Coastguard Worker      <arg name="surface" type="object" interface="wl_surface"
55*6c119a46SAndroid Build Coastguard Worker	   summary="the surface that inhibits the idle behavior"/>
56*6c119a46SAndroid Build Coastguard Worker    </request>
57*6c119a46SAndroid Build Coastguard Worker
58*6c119a46SAndroid Build Coastguard Worker  </interface>
59*6c119a46SAndroid Build Coastguard Worker
60*6c119a46SAndroid Build Coastguard Worker  <interface name="zwp_idle_inhibitor_v1" version="1">
61*6c119a46SAndroid Build Coastguard Worker    <description summary="context object for inhibiting idle behavior">
62*6c119a46SAndroid Build Coastguard Worker      An idle inhibitor prevents the output that the associated surface is
63*6c119a46SAndroid Build Coastguard Worker      visible on from being set to a state where it is not visually usable due
64*6c119a46SAndroid Build Coastguard Worker      to lack of user interaction (e.g. blanked, dimmed, locked, set to power
65*6c119a46SAndroid Build Coastguard Worker      save, etc.)  Any screensaver processes are also blocked from displaying.
66*6c119a46SAndroid Build Coastguard Worker
67*6c119a46SAndroid Build Coastguard Worker      If the surface is destroyed, unmapped, becomes occluded, loses
68*6c119a46SAndroid Build Coastguard Worker      visibility, or otherwise becomes not visually relevant for the user, the
69*6c119a46SAndroid Build Coastguard Worker      idle inhibitor will not be honored by the compositor; if the surface
70*6c119a46SAndroid Build Coastguard Worker      subsequently regains visibility the inhibitor takes effect once again.
71*6c119a46SAndroid Build Coastguard Worker      Likewise, the inhibitor isn't honored if the system was already idled at
72*6c119a46SAndroid Build Coastguard Worker      the time the inhibitor was established, although if the system later
73*6c119a46SAndroid Build Coastguard Worker      de-idles and re-idles the inhibitor will take effect.
74*6c119a46SAndroid Build Coastguard Worker    </description>
75*6c119a46SAndroid Build Coastguard Worker
76*6c119a46SAndroid Build Coastguard Worker    <request name="destroy" type="destructor">
77*6c119a46SAndroid Build Coastguard Worker      <description summary="destroy the idle inhibitor object">
78*6c119a46SAndroid Build Coastguard Worker	Remove the inhibitor effect from the associated wl_surface.
79*6c119a46SAndroid Build Coastguard Worker      </description>
80*6c119a46SAndroid Build Coastguard Worker    </request>
81*6c119a46SAndroid Build Coastguard Worker
82*6c119a46SAndroid Build Coastguard Worker  </interface>
83*6c119a46SAndroid Build Coastguard Worker</protocol>
84