XForceScreenSaver(display, mode)
Display *display;
int mode;
XActivateScreenSaver(display)
Display *display;
XResetScreenSaver(display)
Display *display;
XGetScreenSaver(display, timeout_return, interval_return, prefer_blanking_return,
allow_exposures_return)
Display *display;
int *timeout_return, *interval_return;
int *prefer_blanking_return;
int *allow_exposures_return;
各スクリーンに対してブランクが設定され、ハードウェアがビデオ表示の ブランクをサポートしている場合、スクリーンは単にブランクする。 そうでない場合で、露出が可能な場合か、スクリーンがクライアントに Expose イベントを送らずにスクリーン表示を再生成できる場合には、スクリーンは ルートウィンドウの背景タイルで埋められる。この際、描画の原点は interval 秒ごとにランダムに決め直される。 これ以外の場合にはスクリーンの状態は変化せず、スクリーンセーバは アクティブにならない。 キーボードやポインタの次の入力があったときか、モードに ScreenSaverReset を指定して次の XForceScreenSaver を呼び出した時にスクリーンセーバは解除され、スクリーンの全ての状態が 復元される。
サーバ依存のスクリーン保護機能が、周期的な画面書き換えをサポートしてい る場合、引き数 interval は書き換え周期の長さのヒントを与える。このヒント値 が 0 の場合は、周期的な画面書き換えをしてはならないことを示す。 スクリーンの書き換え方法の例としては、カラーマップをごちゃ混ぜにする方法、 アイコンイメージを周期的にスクリーンの周りで移動させる方法、スクリーン をルートウィンドウの背景タイルとし、定期的にランダムに原点を変える方法 が挙げられる。
XSetScreenSaver はエラー BadValue を起こすことがある。
指定したモードが ScreenSaverActive であり、かつスクリーンセーバが現在アクティブでないならば、 XForceScreenSaver はタイムアウト値に0が指定されて無効になっていた場合も含めて、 スクリーンセーバをアクティブにする。 指定したモードが ScreenSaverReset であり、かつスクリーンセーバが現在有効ならば、 XForceScreenSaver は、スクリーンセーバがアクティブになっていればスクリーンセーバを無 効にし、アクティブ化のタイマーを(デバイスからの入力があったかのように) 初期状態にリセットする。
XForceScreenSaver はエラー BadValue を起こすことがある。
関数 XActivateScreenSaver はスクリーンセーバをアクティブにする。
関数 XResetScreenSaver はスクリーンセーバをリセットする。
関数 XGetScreenSaver は、現在のスクリーンセーバの値を取得する。