Idle Inhibition Service Draft Idle Inhibition Service 0.1 DRAFT Bastien Nocera GNOME core Developer
hadess@hadess.net
2012 The Idle Inhibition Service API Authors
API Documentation Introduction The Idle Inhibition Service API allows client applications to inhibit a user's login session from becoming idle. The service is usually implemented by the session manager, or another daemon running inside the user's session, and communicating with the platform software to avoid becoming idle, and the consequences of becoming idle. This API was designed by GNOME and KDE developers with the goal of having a common way to inhibit idleness. Consequences of idleness Depending on the user session software running, idleness can have multiple consequences, including, but not limited to: Screen backlight dimming Screensaver animation replacing the desktop content Instant messenging client going to "auto-away" Computer suspending or hibernating Inhibiting idleness is supposed to stop all those actions from taking place, specifically in response to idleness. A user action asking for any of those states would obviously be acted upon witout delay.. API documentation Idle inhibition is achieved by the application calling an Inhibit function on a well-known D-Bus name. Inhibition will stop when the UnInhibit function is called, or the application disconnects from the D-Bus session bus (which usually happens upon exit). API notes The D-Bus service name, org.freedesktop.ScreenSaver, intentionally contains the word screensaver, as KDE implements the idle inhibition API in a screensaver sub-module. It was necessary for the specificed Idle Inhibition Service API to be compatible with this existing software. For the same reasons, inhibition of suspend, hibernation, or user-switching (amongst others) is not supported in the API. D-Bus API Reference References kde-api KDE Screenlocker D-Bus API gnome-impl GNOME org.freedesktop.ScreenSaver proxy implementation