Add screensaver idle inhibitor protocol

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 <bryce@bryceharrington.org>
Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
3 files changed