質問

シンプルなスタッキングウィンドウマネージャーを作成したい C)私的使用、主に自分自身を学び、挑戦する目的のために。

私は見た twmベルとホイッスルが比較的少ないが、ウィジェットツールキットに基づいていないため、非常に低いレベルのように思えます。1 GTK+などのツールキットを使用することが望ましいでしょうか?コードとライブラリの一部が twm 時代遅れすぎるかもしれません(編集: 非推奨)そして、私はウィンドウマネージャーに比較的最新のライブラリを使用してもらいたいです。理解するために、私はまた、ウィンドウマネージャーをゼロから始める方法の提案にも興味があります。この目的のためのチュートリアルは多くありません。

アップデート: 同様のプロジェクトを考えている人のために:私は共通のLISPと CLXライブラリ. tinywm-lisp 根拠として、そして華麗なものとして機能しました clfswmStumpwm 大いに助けになりました。参照のために、私は使用しました CLX - 一般的なLISP Xインターフェイス (PDF警告) と #xlib FreeNodeで。

役に立ちましたか?

解決

何をするにしても、XLIBではなくXCBを使用してください。それは「モダンで非同期で、よりシンプルで、X11プロトコルに直接アクセスできます。

他のヒント

非常にミニマルなWMです WM2. 。ソースコードを読んでいないので、それが教育の例であるかどうかはわかりません。もちろん、あなたはすでにあなたのために抽象化と描画作業の多くを既に行っているライブラリを使用できます GDKGTK. 。しかし、このプロジェクトは個人的な学習のためだけのものなので、私は困難な方法でXLIBを直接使用します。

ここにあなたに役立つかもしれないいくつかのリンクがあります:

のコードをご覧ください DWM. 。コードベースは美しく、理解しやすいです。全体は約2000行です。

C ++でX11ウィンドウマネージャーを書く方法を示す詳細なチュートリアルシリーズを作成しました。

さらに、シンプルなサンプルウィンドウマネージャー、Basic_WMをチェックアウトできます。

それは教育的な目的のために大いにコメントされています。

Xlib vs XCBでは、最初に開始する場合は、XCBを介してXLIBをお勧めします。 XCBはより効率的ですが、それははるかに低レベルで、はるかに冗長です(GUIのアセンブリ言語を考えてください)。すでにプロトタイプが機能しているまで、時期尚早の最適化に負担をかけたくありません。

http://code.google.com/p/partiwm/ ゼロからウィンドウマネージャー(タイリング、スタッキングではなく)を書く試みです。コードを読むのに役立つかもしれません。

Metacityは、特定のUI要素にGTKを使用します。そのハッキングとreadmeを参照してください。

参照してください 良いXLIBプログラミングガイドはどこにありますか?

理解するために、私はまた、ウィンドウマネージャーをゼロから始める方法の提案にも興味があります

AEWMウィンドウマネージャーをご覧ください。コードは小さく、基本を非常にうまく行います。 cで書かれており、xlibを使用します。

http://www.red-bean.com/decklin/aewm/

Xmonad 開始するのに適した場所かもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top