ICCCM追従レベルの測定
それぞれのウィンドウマネージャのICCCM追従レベルをxcomplianceで調べてみます。結果は次の通りです。
ウィンドウ マネージャ
|
WM_Snセレクションを所有する
|
VERSIONセレクションを所有する
|
WM_TAKE_FOCUSメッセージのdata[1]フィールドにCurrentTimeを使用しない
|
WM_DELETE_WINDOWメッセージのdata[1]フィールドにCurrentTimeを使用しない
|
twm (R6.3付属) |
× |
× |
○ |
○ |
qvwm 1.1.11 |
× |
× |
× |
× |
WindowMaker 0.20.2 |
× |
× |
マップ直後のWM_TAKE_FOCUSメッセージを除けば○ |
○ |
enlightment 0.14 |
× |
× |
× |
× |
mwm 0.83 |
× |
× |
マップ直後のWM_TAKE_FOCUSメッセージを含めて○ |
× |
blackbox 0.34.0 |
× |
× |
×(WM_TAKE_FOCUSメッセージが来ない...) |
× |
icewm 0.9.18 |
× |
× |
× |
× |
kwm |
× |
× |
マップ直後のWM_TAKE_FOCUSメッセージを含めて○ |
○ |
ICCCM 2.0以降を満たすものはないようです。
qvwmへのパッチ
上記のように、qvwmではWM_TAKE_FOCUSメッセージのdata[1]フィールドにCurrentTimeが使用されています。このままではLocalActive(局所的に能動的な)フォーカスモデルを利用するXクライアントで不都合が生じるので、その場しのぎのパッチを作成してみました。パッチの当て方は、次の通りです。
% tar zxvf qvwm-1.1.11.tar.gz
% cd qvwm-1.1.11/src
% gzip -dc どこか/qvwm-1.1.11-icccm.patch-1.gz | patch
パッチを当てた後のICCCM追従レベルは次の通りです。
ウィンドウ マネージャ
|
WM_Snセレクションを所有する
|
VERSIONセレクションを所有する
|
WM_TAKE_FOCUSメッセージのdata[1]フィールドにCurrentTimeを使用しない
|
WM_DELETE_WINDOWメッセージのdata[1]フィールドにCurrentTimeを使用しない
|
バッチ後のqvwm 1.1.11 |
× |
× |
マップ直後のWM_TAKE_FOCUSメッセージを除けば○ |
○ |
過去のバージョンのパッチ
|