ログイン
編集不可のページディスカッション情報添付ファイル

2013-02-06 17:01:37時点のリビジョン1

メッセージを消す
clear/wm_devel/library

MMA

WMを実装する際に用いるライブラリ

(Cで書く場合の話。他言語でもC向けライブラリのバインディングを使うことになるはず)

X11ライブラリ

GTKやQt、あるいはXtのようなツールキットを使って実装することもできるが、それらだけでは実現できない低レベルの操作を行うためには、XlibかXCBを使う必要がある(自前でXプロトコルをしゃべることができれば要らないが…)

Xlib

古くからある方。いい加減古いので今は推奨されていないが、これを使って書かれているWMはそれなりに存在する。

とりあえず、カテゴリ別の詳しい仕様は以下のPDFが基本。

書籍もある。

その他、検索すればそれなりに出てくる。

XCB(X C Bindings)

http://xcb.freedesktop.org/

Xlibを置き換えることを目的として作られた比較的新しめのライブラリ。

とにかく資料が少ない(チュートリアルと、ソースからdoxygenで生成されたドキュメントを除くとほとんど皆無)。しかしコンセプトさえ理解すればあとはパターンなので、Xプログラミングの知識さえあればさほど困らない(Xプログラミングの知識についてはXlibに関する資料が参考になる)。そもそもXCBはXlibを代替することを目的として生まれたので、両者を対比して調べていけばだいたいなんとかなる。

数少ない資料。

XCBについてはXCBを用いた既存のアプリケーションを読むのが手っ取り早い。awesomeとかi3とか。

その他

Xft

アンチエイリアスフォントを描画するためのライブラリ。Xlibと連携して使える。

Cairo

デバイス非依存のベクタグラフィクスライブラリ。XlibやXCBにもグラフィクス機能が備わっているが、それらがXサーバに描画リクエストを送るものであるのに対し、Cairoはクライアントサイドで描画を行う。

Pango

多言語テキストライブラリ。GNOMEの一部。