app_server(BeOS)
詳細情報
- 開発元
- Be Inc.
- 種類
- ウィンドウシステム
- 対応プラットフォーム
- BeOS、Haiku
BeOSのウィンドウシステム。画面を一手に管理する単一のサーバプロセスが、全アプリケーションの枠と文字を描き、メッセージポート経由でやり取りする。ウィンドウごとに1スレッド。
Be Inc.が1990年代半ばにBeOSをゼロから書いたとき、ウィンドウシステムは一点でX11に似ていた。グラフィックスをカーネルでもアプリケーション自身でもなく、別プロセスのapp_serverが扱うことだ。似ているのはそこまでである。ネットワークプロトコルはなく、独立したウィンドウマネージャもない。サーバがタイトルタブ(ウィンドウ上端の一部だけを覆う黄色いタブが象徴だった)を描き、フォント、カーソル、クリップボードも扱った。アプリケーションはInterface KitのBWindowやBViewクラスを通じ、BMessageパケットをカーネルポート経由で送ってサーバと話した。アプリ側ではウィンドウごとに専用スレッドが割り当てられるので、裏でプログラムが動画をエンコード中でもBeOSのウィンドウをドラッグできた。
Beはソースを公開しなかったため、自由なHaikuプロジェクトが2000年代にapp_serverを一から書き直した。Anti-Grain Geometryによるアンチエイリアス描画と、枠の見た目を差し替えられる「デコレータ」を備える。後者は元のシステムが公式には許していなかったものだ。サーバが枠を所有する点で、BeOSはXよりもWindowsに近い。Xでは見た目はウィンドウマネージャのものであり、リペアレンティングで取り付けられる。