ウィンドウマネージャは、グラフィカルユーザーインターフェース(GUI)において、ウィンドウの配置や外観を管理するプログラムです。
[ウィンドウシステム]]と連携し、ポインティングデバイスからの入力切り替えなども扱います。オペレーティングシステム]の機能として提供されることもあれば、[[X Window Systemのように独立したアプリケーションとして提供されることもあります。
ウィンドウマネージャの役割
ウィンドウマネージャは、アプリケーションの出力先となるウィンドウの生成、操作(オープン、クローズ、最小化、最大化、移動、サイズ変更)を管理します。また、動作中のウィンドウの記録も行います。通常、ウィンドウは二次元の長方形として作成され、その中にアプリケーションの内容が表示されます。
ウィンドウマネージャの種類によっては、
デスクトップ環境の構築機能(壁紙の制御、アプリケーション
アイコンの配置)も備えています。また、時計、ネットワークモニタ、アプリケーションランチャーなどの追加機能を提供する場合もあります。
ウィンドウマネージャの種類
ウィンドウマネージャは、ウィンドウの描画および更新手法によって、大きく3種類に分類されます。
コンポジット型ウィンドウマネージャ
コンポジット型ウィンドウマネージャは、すべてのウィンドウの生成と描画を独立して行います。そして、これらのウィンドウを2Dや3D空間内で自由に配置し、高度な視覚効果を実現します。これにより、インターフェースに多様なルックアンドフィールを提供することができます。
スタック型ウィンドウマネージャ
スタック型ウィンドウマネージャは、ウィンドウを重なり合うように描画します。最初に背景ウィンドウを描画し、その上に順にウィンドウを重ねて表示します。コンポジット型でないウィンドウマネージャは、一般にこのスタック型に分類されます。
タイル型ウィンドウマネージャ
タイル型ウィンドウマネージャは、画面全体を区切ってウィンドウを並べて配置します。原則として、ウィンドウ同士が重なり合うことはありません。ウィンドウの生成や破棄に応じて、ウィンドウを自動的に再配置するものを動的タイル型ウィンドウマネージャと呼びます。
Microsoft Windows 1.0はタイル型であり、
X Window System上にも様々なタイル型ウィンドウマネージャが存在します。
タイル型配置と相性の悪いアプリケーションのために、任意のウィンドウを重ねて表示できるフロート配置機能を備えたウィンドウマネージャも存在します。これらは動的ウィンドウマネージャと呼ばれることもあります。
X Window Systemは、
ウィンドウシステム自体は
サーバ/クライアント環境を構築するのみで、具体的なウィンドウ管理はウィンドウマネージャに委ねられています。そのため、
X Window System上では多様なウィンドウマネージャが開発され、利用されています。
まとめ
ウィンドウマネージャは、GUI環境におけるユーザーエクスペリエンスを大きく左右する重要な要素です。その種類や機能を知ることで、より効率的な作業環境を構築することができます。
デスクトップ環境と密接に関わるテーマとして、ウィンドウマネージャは今後も注目される分野と言えるでしょう。