2012-11-06 28 views
5

私は基本的なハードウェアアクセラレータウィンドウマネージャを書いていますので、始める方法に関するドキュメントを探していましたが、私はthis tutorialを見つけ出しました。古いバージョンのクラッタを使い、現在利用可能な任意のバージョンでビルドします。これを行うための他の良いリソースがありますか?あるいは、WMのソースを見るためにWMを合成する本当に素朴な骨ですか?合成WMを作成するにはどうすればいいですか?

答えて

4

元のデモ合成マネージャーはxcompmgrでした。これは、基本となるX拡張を理解するためにお勧めします。

OpenGLを使用してハードウェアアクセラレーションレンダリングを行っている場合は、EXT_texture_from_pixmapの拡張子を読み取って、ウィンドウの内容をユーザー空間にコピーしないようにする必要があります。その拡張機能を使用すると、代わりにそれらのコピーに対してハードウェアアクセラレーションされたブリットを使用できます。

_NET_WM_SYNC_REQUESTの仕様にも興味があり、垂直リトレースに同期した裂け目のないレンダリングが可能です。

7

あなたの質問に2つの部分があります:1)WM 2を書き​​込むための方法は)()のソースをxcompmgrに加えて第二部の理解を助けるため

にいくつかのリンクを複合マネージャーを作成する方法:

ウィンドウマネージャ、 "パート1":https://github.com/sidorares/node-x11/blob/master/examples/windowmanager/wm.js

  • (Cで)別のミニマリストWM、リファレンスとして開始するには良い:https://code.google.com/p/winmalist/
    • 私はJavaScriptで簡単な〜100のLOC WMを持っています最も重要なキーワード:SubstructureRedirectイベントマスク。文書の一部here
  • 関連する問題