Xウインドウ上のアプリケーションには様々なものがあります。時計やカレン ダー、電卓などのほか、ファイル管理ツールや端末エミュレータ、メイル読み 書きツール、印刷機能、画面ハードコピーなどいわゆるデスクトップと呼ばれ る標準のアプリケーションがウインドウマネージャ毎に提供されています。ウ インドウマネージャによらないXのアプリケーションもたくさんあります。例 えば画面を上下に動かすスクロールバーと呼ばれるものも現在のウインドウマ ネージャの提供するものでないものが使われる場合があります。これは何によ る違いなのでしょう。Xのアプリケーションがどのように作られているかを知っ ておくのはいいことです。
Xサーバとクライアントの間でやりとりされる命令をXプロトコルと呼ぶことは 説明しましたが、クライアントプログラムがXプロトコルを送るために呼び出 す関数を用意する必要があります。Xlibと呼ばれるライブラリーがそれですが、 線を引いたり字を書いたりと言った基本的な動作を提供しているだけなので、 ウインドウのメニューやボタン、スクロールバーなども沢山の単純な構成要素 に分解して呼び出す必要があります。これは大変なのでメニューやボタンと言っ たウインドウの部品のレベルでプログラミングが出来るライブラリーが用意さ れています。Xtoolkitと呼ばれます。Xtoolkit自身は特定の窓枠の形状などを 知っているわけではありません。窓枠やメニュー、ボタン、スクロールバー、 ポップアップ等の特定の形状や操作方法(ポリシーと呼ばれる)はウィジェット と呼ばれウインドウマネージャごとに用意されています。ですから通常のウイ ンドウアプリケーションはあるウインドウマネージャの提供するウイジェット セットを用いてXtoolkitを呼出し、さらにXlibを呼び出します。