ログイン
編集不可のページディスカッション情報添付ファイル
clear/wm_devel/2011-08-13

MMA

そもそもWMとはなんだ

dwm 5.9のソースコードの冒頭のコメントにはこんなことが書いてある。

dynamic window manager is designed like any other X client as well. It is
driven through handling X events. In contrast to other X clients, a window
manager selects for SubstructureRedirectMask on the root window, to receive
events about window (dis-)appearance.  Only one X connection at a time is
allowed to select for this event mask.

ウィンドウマネージャも他のXクライアントと同じく、イベントドリブンで動作する。他のXクライアントと違うのは、ウィンドウマネージャだけがルートウィンドウのSubstructureRedirectを処理する、という点のみ。これは他のウィンドウが生成したり消滅する時にやってくるもののようだ。さらに、このイベントを監視できるのは一つのXクライアントに限られる。(ウィンドウマネージャは複数起動できない)

つまり、以下のようにするだけで必要条件は満たせる。

  1. 特に何もしないXクライアントを書く
  2. これにSubstructureRedirectを受け取るよう書き加える

当然ながらこれはまったく十分ではなく、表面的には無いのと何も変わらない。最低限、次のような機能はあってほしい。

はじめは以上の3つの機能を実現することを目指そうと思う。

clear/wm_devel/2011-08-13 (最終更新日時 2011-11-06 23:19:26 更新者 clear)