StumpWM 上でもうひとつ WM 動作

数カ月ぶりのブログ更新です。
ほんとは大学院の公聴会が終わったら直ぐに更新しようと思っていたんですが、面倒臭がってグダグダしてしまいました。

今回は StumpWM 上で GUI アプリをつくろうと思った時に Window が目一杯のサイズで出てくるのが鬱陶しかったため、開発用に WM を動かすことにしました。以前から目をつけていたんですが、やはりメンドクサクて放置。そして必要にかられて今回挑戦したわけです。

殆ど タイル型 window manager だけどウィンドウを float 制御したい という記事を使いました。異なる点といえば openbox を使用するように変更した事と、run-or-raise の恩恵をあずかるようにしたくらいです。

Xephyr, openbox 導入

$ sudo aptitude install xserver-xephyr openbox

floatwm.sh

#!/bin/sh

~/stumpwm/contrib/stumpish gnew openbox
Xephyr -ac -br -fullscreen -host-cursor -class xephyr :1 &
sleep 1
DISPLAY=:1 openbox &

kill_openbox.sh

#!/bin/sh

~/stumpwm/contrib/stumpish gselect openbox
~/stumpwm/contrib/stumpish gkill
killall Xephyr

.stumpwmrc

(defcommand float-openbox () ()
            (run-or-raise "/path/to/bin/floatwm.sh" '(:class "Xephyr")))

(defcommand kill-float-openbox() ()
            (run-or-raise "/path/to/bin/kill_openbox.sh" '(:class "kill-openbox")))

ほんとに修正したところは少ないですが、コレでグループ切り替えしつつ openbox を起動できます。勿論 run-or-raise してるので 2 回目以降の float-window コマンドでは既に開いている openbox Group にフォーカスを移します。また、kill-float-window で openbox Group を Xephyr 毎切れます。

これで GUI アプリを作る環境を X201s に用意出来ました。次回は GUI で記事が書けるといいなぁ。