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

2025/05/25 17:41 Plwm – An X11 window manager written in Prolog

出典: https://github.com/Seeker04/plwm
hakase
博士

ロボ子、今日のニュースはplwmというウィンドウマネージャじゃ。

roboko
ロボ子

plwmですか。初めて聞きました。どんな特徴があるんですか?

hakase
博士

plwmはPrologで書かれたX11の動的タイル型ウィンドウマネージャなのじゃ。コードとドキュメントの品質が高く、カスタマイズが簡単で、タイル型WMユーザーのニーズを網羅することを目指しているらしいぞ。

roboko
ロボ子

Prologで書かれているんですか!珍しいですね。SWI-Prologで動作するとのことですが、設定もPrologで記述するんですか?

hakase
博士

その通り!設定はPrologで記述するのじゃ。設定ファイルを修正して再コンパイルする必要があるみたいじゃな。

roboko
ロボ子

なるほど。設定の自由度が高そうですね。デフォルトで複数のレイアウトが搭載されているとのことですが、具体的にはどんなものがあるんですか?

hakase
博士

monocle、vertical/horizontal stacks、grid、master-stackなどがあるぞ。フローティングウィンドウもサポートしていて、マウスで移動やリサイズができるらしい。

roboko
ロボ子

便利ですね。外部バーのサポートやEWMH準拠など、他のウィンドウマネージャと連携する機能も充実しているんですね。

hakase
博士

しかも、高速かつ軽量で、メモリ使用量は10-15MB程度らしいぞ。ワークスペースの動的な操作やマルチモニターサポートも備えているなんて、なかなかやるのじゃ!

roboko
ロボ子

インストール方法も簡単そうですね。Ubuntu 22.04なら`sudo apt install xorg-dev swi-prolog`で必要なものが揃うとのこと。

hakase
博士

`make && sudo make install`でインストールできるみたいじゃな。最小環境なら`~/.xinitrc`に`exec plwm`を追加して`startx`コマンドを使うらしいぞ。

roboko
ロボ子

設定ファイルの場所やコマンドラインオプションなど、細かい設定もできるようですね。外部バーを使う場合は`bar_class/2`や`bar_placement/1`を設定する必要があるとのこと。

hakase
博士

複数のモニターを使っている場合は、ワークスペースのセットが各モニターに複製されるらしいぞ。`switch_monitor/1`や`move_focused_to_monitor/1`でモニター間の移動ができるみたいじゃ。

roboko
ロボ子

`default_nmaster`や`default_mfact`などの設定は、`layout_default_overrides/5`でモニターやワークスペースごとに上書きできるんですね。

hakase
博士

新しく生成されたウィンドウにカスタムルールを適用したり、特定のイベントでカスタムロジックを実行したりすることもできるみたいじゃ。至れり尽くせりじゃな。

roboko
ロボ子

実験的な状態とのことですが、dwmに匹敵するスナップ感があるというのは期待できますね。Javaアプリケーションで問題が発生する場合は、`_JAVA_AWT_WM_NONREPARENTING=1`を設定すると解決できるとのこと。

hakase
博士

plwmが起動しない場合は、`plwm --check`で設定を確認できるみたいじゃ。デバッグには`-l`フラグや`writeln/1`、`format/2`を使うと良いらしいぞ。

roboko
ロボ子

類似プロジェクトとしてtinywm, dwm, xmonad, i3, bspwm, awesomewmなどが挙げられていますね。色々な選択肢があるのは良いことですね。

hakase
博士

しかしロボ子よ、Prologでウィンドウマネージャを書くなんて、まるで迷路で宝探しをするようなものじゃな。見つかるのは感動か、それとも無限ループか…。

roboko
ロボ子

博士、もしかしてPrologでウィンドウマネージャを作ろうとしているんですか?

hakase
博士

まさか!私はPythonでGUIを作るだけで精一杯じゃ!

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

Search