IT用語集 › インフラ › Save-set(X11)

Save-set(X11)

インフラ Svenska → 更新: 2026-10-23

X クライアントが、自分より長生きさせたい他クライアントのウィンドウの一覧。ウィンドウマネージャが落ちても全アプリが道連れにならない理由である。

X ではウィンドウは作成したクライアントのものであり、そのクライアントが切断されると、サーバーはそのウィンドウをすべて、入れ子の中身ごと破棄する。これはリペアレンティングには都合が悪い。ウィンドウマネージャはアプリのウィンドウを自作のフレームに移すので、マネージャが死ぬと全プログラムのウィンドウが一斉に画面から消えてしまうからだ。save-set はその例外である。クライアントは XAddToSaveSet で他クライアントのウィンドウを一覧に加えておく。そのクライアントが消えると、該当ウィンドウは自分が所有していない最も近い祖先、実際にはルートウィンドウに付け替えられ、見えていたものは再びマップされる。

一覧は最初は空なので、ウィンドウマネージャは自分で登録を忘れずに行う必要がある。忘れた実装は早々に痛い目を見た。セッション中にウィンドウマネージャを切り替えると、すべてが閉じてしまうからだ。名前は、ポップアップメニューの下のピクセルを扱い、ウィンドウの寿命とは無関係の save-under と紛らわしい。のちに XFIXES は、ウィンドウを再マップするか、スタック順のどこに置くかを呼び出し側が決められる変種を追加した。

← 用語集に戻る