Ko-Window プログラマーズマニュアル 「KeepLevelとは」 ● KeepLevel とは wsrv.rc で設定できる項目の1つです。常に 1 が設定されていますが、このパラ メータに関して解説したドキュメントはありませんでした。このパラメータは、現在 起動されているプロセスのレベルに応じて、ウィンドウサーバーが終了するかどうか を判断するために使います。 ●各アプリケーションのプロセスレベル Ko-Window の各プロセスには、プロセスレベル、というものが設けられています。 func.doc の大域変数の項目には載っていませんが、実際はアプリケーションで定義 できるグローバル変数として WindowProcessLevel があります。アプリケーションの レベルはデフォルトでは 1 です。各種ウィンドウマネージャーではこの値は 0 にな ります。 ●プロセスレベルの働き サーバーは、起動されているすべてのプロセスのレベルが KeepLevel より大きい 場合強制終了します。標準では KeepLevel は 1 なので、ウィンドウ上にアプリケー ションが1つでも残っていれば終了はしません。 もしこの KeepLevel を 0 に設定すれば、ウィンドウマネージャーがいなくなれば、 例え他にプロセスが残っていようと Ko-Window は終了してしまうようになります。 この判定は wsrv.rc 内のプログラムを全部起動した以後、プロセスが終了した後、 に行われるため、wsrv.rc 内で起動する場合はウィンドウマネージャーは最後でも構 いません。 ● KeepLevel の意義 かつて Ko-Window はウィンドウ上にシェルとして働けるアプリケーションがいな くなってしまえば事実上何もできなくなってしまい、終了のための操作すらさせるこ とができませんでした。 現在のサーバーはそのような場合でも強制脱出キーによって終了できますが、当初 は画面上にアプリケーションだけ残ってしまって、Command.win を消してしまってウィ ンドウが終了できなくなったような場合に勝手にサーバーが終了してくれるよう設け られたのではないかと思います。 そのため現在ではこのパラメータは特に設定したり参照する必要はないと思われま す。 1995/11/20 小笠原博之 oga@dgw.yz.yamagata-u.ac.jp DenDenNET: DEN0006 COR.