f XSetScreenSaver(3) スクリーンセーバを操作する

Other Alias

XForceScreenSaver, XActivateScreenSaver, XResetScreenSaver, XGetScreenSaver

書式

XSetScreenSaver(display, timeout, interval, prefer_blanking, allow_exposures)

      Display *display;

      int timeoutinterval;

      int prefer_blanking

      int allow_exposures;

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;

引き数

allow_exposures
スクリーンセーバの制御値を指定する。 DontAllowExposures, AllowExposures, DefaultExposures のいずれかを指定できる。
allow_exposures_return
スクリーンセーバの現在の制御値が返される (DontAllowExposures, AllowExposures, DefaultExposures のいずれか)。
display
X サーバへの接続を指定する。
interval
スクリーンセーバ切替えの間隔を秒数で指定する。
interval_return
スクリーンセーバの起動までの間隔が返される。
mode
適用されるモードを指定する。 ScreenSaverActive または ScreenSaverReset を指定できる。
prefer_blanking
スクリーンのブランクの仕方を指定する。 DontPreferBlanking, PreferBlanking, DefaultBlanking のいずれかを指定できる。
prefer_blanking_return
スクリーンの現在のブランクの仕方が返される (DontPreferBlanking, PreferBlanking, DefaultBlanking のいずれか)。
timeout
スクリーンセーバが有効になるまでのタイムアウトを秒数で指定する。
timeout_return
スクリーンセーバが有効になるまでのタイムアウトが秒数で返される。

説明

タイムアウトと間隔は秒数で指定する。 タイムアウトが 0 ならば、スクリーンセーバは無効化され(しかし、 アクティブになっているスクリーンセーバは解除されない)、タイムアウトが -1 な らば、デフォルト値が復元される。 これ以外の負の値を指定するとエラー BadValue になる。 タイムアウト値が 0 でなければ、 XSetScreenSaver はスクリーンセーバを有効にする。 間隔が 0 ならば、ランダムパターン動作が無効になる。 指定されたタイムアウトの秒数の間デバイス(キーボード、マウス等)からの入 力がなければ、スクリーンセーバがアクティブになる。

各スクリーンに対してブランクが設定され、ハードウェアがビデオ表示の ブランクをサポートしている場合、スクリーンは単にブランクする。 そうでない場合で、露出が可能な場合か、スクリーンがクライアントに Expose イベントを送らずにスクリーン表示を再生成できる場合には、スクリーンは ルートウィンドウの背景タイルで埋められる。この際、描画の原点は interval 秒ごとにランダムに決め直される。 これ以外の場合にはスクリーンの状態は変化せず、スクリーンセーバは アクティブにならない。 キーボードやポインタの次の入力があったときか、モードに ScreenSaverReset を指定して次の XForceScreenSaver を呼び出した時にスクリーンセーバは解除され、スクリーンの全ての状態が 復元される。

サーバ依存のスクリーン保護機能が、周期的な画面書き換えをサポートしてい る場合、引き数 interval は書き換え周期の長さのヒントを与える。このヒント値 が 0 の場合は、周期的な画面書き換えをしてはならないことを示す。 スクリーンの書き換え方法の例としては、カラーマップをごちゃ混ぜにする方法、 アイコンイメージを周期的にスクリーンの周りで移動させる方法、スクリーン をルートウィンドウの背景タイルとし、定期的にランダムに原点を変える方法 が挙げられる。

XSetScreenSaver はエラー BadValue を起こすことがある。

指定したモードが ScreenSaverActive であり、かつスクリーンセーバが現在アクティブでないならば、 XForceScreenSaver はタイムアウト値に0が指定されて無効になっていた場合も含めて、 スクリーンセーバをアクティブにする。 指定したモードが ScreenSaverReset であり、かつスクリーンセーバが現在有効ならば、 XForceScreenSaver は、スクリーンセーバがアクティブになっていればスクリーンセーバを無 効にし、アクティブ化のタイマーを(デバイスからの入力があったかのように) 初期状態にリセットする。

XForceScreenSaver はエラー BadValue を起こすことがある。

関数 XActivateScreenSaver はスクリーンセーバをアクティブにする。

関数 XResetScreenSaver はスクリーンセーバをリセットする。

関数 XGetScreenSaver は、現在のスクリーンセーバの値を取得する。

返り値

BadValue
指定された数値に、リクエストの許容範囲を越えているものがある。引き数に対 して特定の範囲が指定されていない限り、引き数の型で定義されている全ての範 囲が許される。選択肢として定義されている引き数はこのエラーを起こすことが ある。