萌えハッカーニュースリーダー

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

出典: https://foxmoss.com/blog/dote/
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

なんでしょうか?

hakase
博士

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

roboko
ロボ子

博士の部屋の窓、全部でいくつあると思ってるんですか!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search