On 25 November 2015 at 08:24, Bryce Harrington <br...@osg.samsung.com> wrote:
> On Wed, Nov 25, 2015 at 08:09:16AM +0100, Michal Suchanek wrote:
>> Hello
>>
>> On 25 November 2015 at 07:49, Bryce Harrington <br...@osg.samsung.com> wrote:
>> > This interface allows disabling of screensaver/screenblanking on a
>> > per-surface basis.  As long as the surface remains visible and
>> > non-occluded it blocks the screensaver, etc. from activating on the
>> > output(s) that the surface is visible on.
>> >
>> > To uninhibit, simply destroy the inhibitor object.
>> >
>> > Signed-off-by: Bryce Harrington <br...@osg.samsung.com>
>> > ---
>> >  Makefile.am                                        |  1 +
>> >  unstable/screensaver-inhibit/README                |  4 ++
>> >  .../screensaver-inhibit-unstable-v1.xml            | 80 
>> > ++++++++++++++++++++++
>> >  3 files changed, 85 insertions(+)
>> >  create mode 100644 unstable/screensaver-inhibit/README
>> >  create mode 100644 
>> > unstable/screensaver-inhibit/screensaver-inhibit-unstable-v1.xml
>> >
>> > diff --git a/Makefile.am b/Makefile.am
>> > index f1bac16..7af18c5 100644
>> > --- a/Makefile.am
>> > +++ b/Makefile.am
>> > @@ -5,6 +5,7 @@ nobase_dist_pkgdata_DATA =                                 
>> >                      \
>> >         unstable/text-input/text-input-unstable-v1.xml                     
>> >      \
>> >         unstable/input-method/input-method-unstable-v1.xml                 
>> >      \
>> >         unstable/xdg-shell/xdg-shell-unstable-v5.xml                       
>> >      \
>> > +       unstable/screensaver-inhibit/screensaver-inhibit-unstable-v1.xml   
>> >      \
>> >         $(NULL)
>> >
>> >  pkgconfigdir = $(libdir)/pkgconfig
>> > diff --git a/unstable/screensaver-inhibit/README 
>> > b/unstable/screensaver-inhibit/README
>> > new file mode 100644
>> > index 0000000..396e871
>> > --- /dev/null
>> > +++ b/unstable/screensaver-inhibit/README
>> > @@ -0,0 +1,4 @@
>> > +Screensaver inhibition protocol
>> > +
>> > +Maintainers:
>> > +Bryce Harrington <br...@osg.samsung.com>
>> > diff --git 
>> > a/unstable/screensaver-inhibit/screensaver-inhibit-unstable-v1.xml 
>> > b/unstable/screensaver-inhibit/screensaver-inhibit-unstable-v1.xml
>> > new file mode 100644
>> > index 0000000..4252baf
>> > --- /dev/null
>> > +++ b/unstable/screensaver-inhibit/screensaver-inhibit-unstable-v1.xml
>> > @@ -0,0 +1,80 @@
>> > +<?xml version="1.0" encoding="UTF-8"?>
>> > +<protocol name="screensaver_inhibition_unstable_v1">
>> > +
>> > +  <copyright>
>> > +    Copyright © 2015 Samsung Electronics Co., Ltd
>> > +
>> > +    Permission is hereby granted, free of charge, to any person obtaining 
>> > a
>> > +    copy of this software and associated documentation files (the 
>> > "Software"),
>> > +    to deal in the Software without restriction, including without 
>> > limitation
>> > +    the rights to use, copy, modify, merge, publish, distribute, 
>> > sublicense,
>> > +    and/or sell copies of the Software, and to permit persons to whom the
>> > +    Software is furnished to do so, subject to the following conditions:
>> > +
>> > +    The above copyright notice and this permission notice (including the 
>> > next
>> > +    paragraph) shall be included in all copies or substantial portions of 
>> > the
>> > +    Software.
>> > +
>> > +    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 
>> > EXPRESS OR
>> > +    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
>> > MERCHANTABILITY,
>> > +    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT 
>> > SHALL
>> > +    THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 
>> > OTHER
>> > +    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 
>> > ARISING
>> > +    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
>> > +    DEALINGS IN THE SOFTWARE.
>> > +  </copyright>
>> > +
>> > +  <interface name="zwp_screensaver_inhibition_v1" version="1">
>> > +    <description summary="screensaver inhibition">
>> > +      This interface is implemented by servers whose screensaver and/or 
>> > screen
>> > +      blanking are able to be disabled by a given
>> > +
>> > +      An object to establish an inhibition on the screensaver and screen
>> > +      blanking of the output that the specified surface is shown on.
>> > +
>> > +      Warning! The protocol described in this file is experimental and
>> > +      backward incompatible changes may be made. Backward compatible 
>> > changes
>> > +      may be added together with the corresponding interface version bump.
>> > +      Backward incompatible changes are done by bumping the version 
>> > number in
>> > +      the protocol and interface names and resetting the interface 
>> > version.
>> > +      Once the protocol is to be declared stable, the 'z' prefix and the
>> > +      version number in the protocol and interface names are removed and 
>> > the
>> > +      interface version number is reset.
>> > +    </description>
>> > +
>> > +    <request name="create_inhibitor">
>> > +      <description summary="create a new inhibition object">
>> > +       Create a new inhibition object associated with the given surface.
>> > +      </description>
>> > +      <arg name="id" type="new_id" 
>> > interface="zwp_screensaver_inhibition_inhibit_v1"/>
>> > +      <arg name="surface" type="object" interface="wl_surface"
>> > +          summary="the surface that inhibits the screensaver"/>
>> > +    </request>
>> > +  </interface>
>> > +
>> > +  <interface name="zwp_screensaver_inhibition_inhibit_v1" version="1">
>> > +    <description summary="inhibitor context">
>> > +      An inhibitor prevents the output that the surface is visible on from
>> > +      being blanked, dimmed, locked, set to power save, or otherwise 
>> > obscuring
>> > +      the screen visuals due to lack of user interaction.  Any active
>> > +      screensaver processes are also temporarily blocked from displaying.
>>
>> The compositor may at its discretion prevent other outputs from
>> blanking as well. This should be configurable by user settings and it
>> might make sense to set different behavior for different applications.
>
> Sure, but that gets into compositor specific design choices.  I'm
> thinking we don't really need to spell this out in the protocol
> definition.  The wording doesn't prevent the compositor from inhibiting
> more than the required displays if it needs to for whatever reason.

And where else would it go?

Are you writing a separate writing a separate implementation manual
for the specification?

If not then it *should* go in the specification.

Just recently people complained that the wayland specification does
not have enough explanatory text leading to wrong or useless
implementation of the specification.

Thanks

Michal
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to