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