ウィンドウマネージャ開発メモ
要件
- 何でもいいから最低限動くものを作ってみる
資料
X Window プログラミング
http://www.x.org/docs/X11/xlib.pdf (pdf)
- Xlibの仕様
- 「プログラミング X Window」
http://users.actcom.co.il/~choo/lupg/tutorials/xlib-programming/xlib-programming.html
- 「X Window ハンドブック」
規格
http://standards.freedesktop.org/wm-spec/wm-spec-latest.html
- EWMH
http://www.x.org/docs/ICCCM/icccm.pdf (pdf)
- ICCCM。現在では古く適さないものもあるとのこと
参考とする実装
- dwm
- タイル型
- ソースが1つしかないのでとっつきやすいが、細かく追おうとすると読みづらい
- ソースコードを2000行程度に維持するという原則のためか、コメントも少なめ
- C99使ってる
- evilwm
- evilという名だがコードはすごく親切で読みやすい
- EWMH対応が参考になる。ソースファイルが分割されていて(ewmh.c)、対応状況もテキストファイルにまとまっている
- ウィンドウの装飾はないがちゃんとre-parentしている
- 設定はコマンドラインオプションで
- sithwm
- evilwmからの派生とあるが、中身を見る限り現在はほぼ別物と言って良さそう
- メニューついてる。設定ファイルにも対応
- tinywm
- 最小のWM。最低限何をすればいいかが分かる
廃墟
- プロトタイプ1: tinywmのデッドコピー
- プロトタイプ2: 全画面型
日記
- clear/wm_devel/2011-08-13
- clear/wm_devel/2011-08-16
- clear/wm_devel/2011-08-16 (simple_client.png)
- clear/wm_devel/2011-08-23
- clear/wm_devel/2012-01-06
- clear/wm_devel/2012-04-25
- clear/wm_devel/2012-04-27
- clear/wm_devel/2012-04-30
- clear/wm_devel/2012-08-18
- clear/wm_devel/2012-09-05
- clear/wm_devel/2012-10-26
- clear/wm_devel/2012-10-26 (xenum.c)
- clear/wm_devel/2012-11-12
- clear/wm_devel/2012-12-11
- clear/wm_devel/2012-12-14
- clear/wm_devel/2012-12-23
- clear/wm_devel/2013-01-11
- clear/wm_devel/2013-01-14
- clear/wm_devel/2013-01-26
- clear/wm_devel/2013-02-09
- clear/wm_devel/2013-02-10
- clear/wm_devel/2013-02-11
- clear/wm_devel/2013-02-18
- clear/wm_devel/2013-02-19
- clear/wm_devel/2013-02-28
- clear/wm_devel/2013-03-02
- clear/wm_devel/2013-03-06
- clear/wm_devel/2013-03-08
- clear/wm_devel/2013-03-12
- clear/wm_devel/2013-03-12 (net_wm_strut.jpg)