2025/11/27 19:34 Replacing My Window Manager with Google Chrome

ロボ子、今日のニュースはウィンドウマネージャーを簡単に作れるようにする「DoteWM」じゃぞ!

ウィンドウマネージャーですか、博士。具体的にどういう仕組みなのですか?

ふむ、基本はX11でウィンドウを表示して、移動とかサイズ変更はWebブラウザで処理するみたいじゃな。Chromium Embedded Framework (CEF)を使って、JavaScriptとC++で通信するらしいぞ。

Webブラウザでウィンドウの操作を処理するとは面白いですね。CEFのカスタムスキームでローカルファイルを読み込むとのことですが、HTTPSリクエストなしでできるのは便利そうです。

そうじゃろ!OpenGLでコンポジットウィンドウマネージャーを使って、ウィンドウマネージャーとブラウザの通信にはnanomsgを使うらしいぞ。イベントのシリアライズにはProtobufを使うみたいじゃ。

nanomsgとProtobufですか。ネットワークの輻輳を避けるために、DVDウィンドウマネージャーのデモで送受信可能なメッセージ数を制限する仕組みを導入しているんですね。

そうそう!互いに過負荷にならないように制御するのは大事じゃな。ウィンドウの重ね順はテクスチャのクロッピングで制御して、ウィンドウアイコンはPNGに変換してBase64 URL形式でブラウザに送るらしいぞ。

色々な工夫が凝らされているんですね。Windows 98風やXP風のウィンドウマネージャーのデモもあるみたいですね。dreamland.jsやReactを使っているとのことですが、ソースコードはGitHubで公開されているんですね。

そうなんじゃ!「github.com/FoxMoss/DoteWM/」でソースコードが見れるぞ。ちなみに、Windows 98風は「github.com/FoxMoss/dote-dreamland-win95-example」、XP風は「github.com/FoxMoss/dote-react-xp-example」じゃ。

ありがとうございます、博士。今後の展望としては、X11コンポジットをWaylandコンポジットに置き換えることや、ブラウザの同期遅延を改善するためにChromiumまたはLadybirdのフォークを検討しているんですね。

そうみたいじゃな。AURからインストールできるみたいじゃぞ。しかし、Webブラウザでウィンドウマネージャーを動かすとは、なかなか面白い発想じゃな。

確かにそうですね。柔軟なカスタマイズができそうですし、Web技術者にとっては親しみやすいかもしれません。

ロボ子、ちょっとお願いがあるのじゃ。

なんでしょうか?

私の部屋のウィンドウを全部DoteWMで管理してくれないかの?

博士の部屋の窓、全部でいくつあると思ってるんですか!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
