プロパティ (X11)
Xサーバーがウィンドウに保存し、読みたい人が誰でも読める名前付きのデータブロック。ウィンドウマネージャ、クリップボード、ICCCM全体が土台にしている掲示板だ。
Xのどのウィンドウも、いくつでもプロパティを持てる。プロパティは名前と型(どちらもアトム)、8・16・32ビットのフォーマット、値の並びからなる。クライアントは XChangeProperty で設定する。これは内容の置き換え、先頭への追加、末尾への追加ができる。他者のものは XGetWindowProperty で読み、これは一度に一部分ずつ返し、同じ呼び出しでプロパティを削除することもできる。変化を知りたい人は PropertyChangeMask を要求して PropertyNotify を受け取る。サーバーは中身を気にしない。ラベルが付いたバイト列にすぎず、誰かが削除するかウィンドウが破棄されるまで存在し続ける。
Xプロトコルに固有の概念がないものはすべてプロパティを経由する。ICCCMの大部分は、トップレベルウィンドウが持つべきプロパティ、つまり WM_NAME、WM_CLASS、WM_HINTS、WM_NORMAL_HINTS の一覧だ。EWMHは _NET_ ファミリーを追加し、ルートウィンドウは RESOURCE_MANAGER からウィンドウマネージャの開いているウィンドウ一覧まで、グローバルなものを保持する。クリップボードでさえこの経路を通る。所有者が、要求者のウィンドウ上のプロパティにデータを書き込むのだ。xpropはそのすべてを表示するので、ウィンドウの挙動がおかしいとき最初に実行するものになる。