Add support for idle inhibition on Wayland
This uses the idle-inhibit protocol from wayland-protocols, to attach an
inhibitor to the
GdkSurface. It can’t do anything if the
isn’t passed, which might warrant some documentation change to encourage
users to not use
NULL for this argument.
I’m not very familiar with the internals of GTK, so let me know if it would be better architectured some other way, I mostly copied over the Quartz variant and adapted it to Wayland.
Fixes #2202 (closed).