XSetScreenSaver(display, timeout, interval, prefer_blanking, allow_exposures)
      Display *display;
      int timeout, interval;
      int prefer_blanking; 
      int allow_exposures;


display Specifies the connection to the X server.
timeout Specifies the timeout, in seconds, until the screen saver turns on.
interval Specifies the interval, in seconds, between screen saver alterations.
prefer_blanking Specifies how to enable screen blanking. You can pass DontPreferBlanking, PreferBlanking, or DefaultBlanking.
allow_exposures Specifies the screen save control values. You can pass DontAllowExposures, AllowExposures, or DefaultExposures.


Timeout and interval are specified in seconds. A timeout of 0 disables the screen saver (but an activated screen saver is not deactivated), and a timeout of \-1 restores the default. Other negative values generate a BadValue error. If the timeout value is nonzero, XSetScreenSaver() enables the screen saver. An interval of 0 disables the random-pattern motion. If no input from devices (keyboard, mouse, and so on) is generated for the specified number of timeout seconds once the screen saver is enabled, the screen saver is activated.

For each screen, if blanking is preferred and the hardware supports video blanking, the screen simply goes blank. Otherwise, if either exposures are allowed or the screen can be regenerated without sending Expose events to clients, the screen is tiled with the root window background tile randomly re-origined each interval seconds. Otherwise, the screens' state do not change, and the screen saver is not activated. The screen saver is deactivated, and all screen states are restored at the next keyboard or pointer input or at the next call to XForceScreenSaver() with mode ScreenSaverReset.

If the server-dependent screen saver method supports periodic change, the interval argument serves as a hint about how long the change period should be, and zero hints that no periodic change should be made. Examples of ways to change the screen include scrambling the colormap periodically, moving an icon image around the screen periodically, or tiling the screen with the root window background tile, randomly re-origined periodically.

XSetScreenSaver() can generate a BadValue error.


BadValue Some numeric value falls outside the range of values accepted by the request. Unless a specific range is specified for an argument, the full range defined by the argument's type is accepted. Any argument defined as a set of alternatives can generate this error.

See also

XForceScreenSaver(), XActivateScreenSaver(), XResetScreenSaver(), XGetScreenSaver(), "Screen Saver Control".
Christophe Tronche, ch@tronche.com