サイズ: 1931
コメント:
|
サイズ: 2212
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 19: | 行 19: |
= 何から始めればいいの = [[http://stackoverflow.com/|stackoverflow]]での過去の質問が参考になる。 * http://stackoverflow.com/questions/1811321/building-a-window-manager * http://stackoverflow.com/questions/3472540/creating-a-window-manager-for-linux |
各種資料
クライアント間通信
WMは他のクライアントと関わるので、Xにおけるクライアント間通信の規約に従う必要がある(どの程度準拠するかはWMによって様々)。クライアント通信に関する規約を定めたものにはICCCM(Inter-Client Communication Conventions Manual)とEWMH(Extended Window Manager Hints)がある。異なるアプリケーションが通信、連携する際の約束事が定められているので、例えばタスクバーとWMを連携させたいときなどは(両者を自分で書いて独自の規約で通信させるのでない限り)これに従う必要がある。
- ICCCMの一部には後発のEWMHで書き換えられていたり、古くなっていて現実にそぐわない部分がある点に注意が必要
とんでもなく分かりにくいことに定評がある1が、これに従わないとXの世界では生きていけないので読むことを強いられる
- 歴史的経緯によりNetWMとも呼ばれるらしい。識別子名に名残りが見られる
- WMを外部から操作するためのプロトコルが追加されている
拡張
Xには拡張が多く、しかも今ではそれが当たり前、となっているものが多い。必要に応じて個別に参照する必要がある。
- 動的に画面解像度を設定できるようにするための拡張
- XRandRに先行するマルチディスプレイ拡張
何から始めればいいの
stackoverflowでの過去の質問が参考になる。
http://stackoverflow.com/questions/1811321/building-a-window-manager
http://stackoverflow.com/questions/3472540/creating-a-window-manager-for-linux
EWMHにICCCMに対する注が付くほどには (1)