各種資料へのリンク集 = X11R7.7 document = X.Orgによる公式の情報に関してはこのページヘのリンクだけで事足りる。 * http://www.x.org/releases/X11R7.7/doc/ * [[http://www.x.org/releases/X11R7.7/doc/xproto/x11protocol.html|プロトコル]] = クライアント間通信 = WMは他のクライアントと関わるので、Xにおけるクライアント間通信の規約に従う必要がある(どの程度準拠するかはWMによって様々)。クライアント通信に関する規約を定めたものにはICCCM(Inter-Client Communication Conventions Manual)とEWMH(Extended Window Manager Hints)がある。異なるアプリケーションが通信、連携する際の約束事が定められているので、例えばタスクバーとWMを連携させたいときなどは(両者を自分で書いて独自の規約で通信させるのでない限り)これに従う必要がある。 * [[http://www.x.org/docs/ICCCM/icccm.pdf|ICCCM(pdf)]] * ICCCMの一部には後発のEWMHで書き換えられていたり、古くなっていて現実にそぐわない部分がある点に注意が必要 * '''とんでもなく分かりにくい'''ことに定評がある<>が、これに従わないとXの世界では生きていけないので読むことを強いられる * [[http://standards.freedesktop.org/wm-spec/wm-spec-latest.html|EWMH]] * 歴史的経緯によりNetWMとも呼ばれるらしい。識別子名に名残りが見られる * WMを外部から操作するためのプロトコルが追加されている = 拡張 = Xには拡張が多く、しかも今ではそれが当たり前、となっているものが多い。必要に応じて個別に参照する必要がある。 * [[http://cgit.freedesktop.org/xorg/proto/randrproto/tree/randrproto.txt|XRandR]] * 動的に画面解像度を設定できるようにするための拡張 * [[http://sourceforge.net/projects/xinerama/|Xinerama]] * XRandRに先行するマルチディスプレイ拡張 * [[http://keithp.com/~keithp/render/Xft.tutorial|Xftのチュートリアル]] = 何から始めればいいの = [[http://stackoverflow.com/|stackoverflow]]での過去の質問が参考になる。 * http://stackoverflow.com/questions/1811321/building-a-window-manager * http://stackoverflow.com/questions/3472540/creating-a-window-manager-for-linux