全てがRubyで書かれたX11ウィンドウマネージャー「RubyWM」がGitHubにて公開されています。
作者のVidar Hokstad氏は、RubyVMは実験的な部分が多く、各種の不具合が発生したり、クラッシュしたりする可能性はあるものの、自分はフルタイムで利用していると説明しています。
RubyWMは、現在1K行未満の純粋なRubyで書かれたX11ウィンドウマネージャ(X11ドライバーを含む)で、タイリングに重点を置いているものの、特定のデスクトップにタイリングレイアウトを割り当てることも、フローティングのままにすることもできるそうです。
現在のところ、タイリングやフローティングレイアウトを使うかどうかに関わらず、ウィンドウの装飾はなく、ウィンドウはドラッグできず、境界線を引っ張ってサイズを変更することもできないとのこと(リサイズはWindowsキー+マウスの左/右ボタンで可能)。
ウィンドウマネージャーbspwmの不満点を解決するために開発され、bspwmと同じくキーボード操作をサポートしていません。bspwmのように専用のIPCメカニズムを搭載していないかわりに、すべての通信はX11 ClientMessageイベント経由で行われ、xdotoolなどのツールによってWMをコントロールすることができます。
作者の環境がシングルモニター環境なので、マルチモニター関連の機能も搭載していないそうです。
RubyVMはキーバインドをサポートしていないため、入力を処理するためにsxhkdなどが必要で、またRubyの最新バージョン(3.2.2など)が必要とされています。
以下のように実行します。ruby rubywm.rb
で起動されていることがわかります。
(sxhkd 2>&1 | logger -t sxhkd) & (cd ~/Desktop/Projects/wm ; ruby rubywm.rb 2>&1 | logger -t rubywm) & while true do wait sleep 5 done
現段階ではかなり癖が強そうで、作者以外がチャレンジするのは難しそうですが、Hacker Newsにはチャレンジ精神を称賛するコメントや、Perlで書かれた「Perl Window Manager」もあるなど、追加の情報が寄せられています。