X Window System資料一覧

マウスカーソルがウィンドウに入らないと色が正しく表示されない

2007/7/29更新

これは実は正しい現象であり不具合ではない。

Xでは色の割り当てにカラーマップを用いており、カラーマップのエントリには上限がある。

このようなカラーマップは2種類ある。

それは、すべてのクライアントがアクセスできる「共有カラーマップ」と、特定のクライアントしかアクセスできない「プライベートカラーマップ」である。

これらのカラーマップのどちらを使うかはクライアントに依存する。

ウィンドウにマウスカーソルが入らないと色が正しく表示されないのは、そのウィンドウがプライベートカラーマップを用いている場合である。

twmのようなウィンドウマネージャはクライアントがプライベートカラーマップを使用している場合にはそのクライアントが表示しているウィンドウにマウスカーソルが入ったときにそのカラーマップを用いて色を表示する。

このため他のウィンドウにマウスカーソルがある場合にはそのウィンドウのカラーマップ(又は共有カラーマップ)が用いられるため、それ以外のウィンドウの色表示が正しくされなくなるのである。