Gマイナー志向

とくに意味はありません

ウィンドウマネージャxmonadが最強である5つの理由

hiyuh氏から教えてもらったウィンドウマネージャxmonad、これ現時点で(dwm, wmii, ratpoison等を愛用した私にとっては)最強ウィンドウマネージャです。間違いない。

http://xmonad.org/

理由1.タイル型ウィンドウマネージャである

各ウィンドウをタイル状に画面に並べるので無駄のない効率的な画面構成が実現できる。基本的にウィンドウは重ならないのでウィンドウの後ろに隠れて見えない、といったこともない。意味がよくわからないならオフィシャルサイトのスクリーンショットを見るべし。

理由2.ウィンドウマネージャの操作はほぼ全てキーボード

殆どのウィンドウ操作はキーボードで行うため、マウスを使う必要がない。これは便利。手をキーボードから離す必要がないよ。

理由3.他のタイル型ウィンドウマネージャの良いとこどり

タイル型ウィンドウマネージャは他にもion, dwm, wmii, ratpoisonなどがあるが、後発なこともあってそれらの良い部分をうまく取り込んでいる。ここがこうだったらなぁと思っていた部分が見事に実現されてて非常に満足。拡張機能ももりだくさんなのも良い。

理由4.xineramaに対応しワークスペースを各ディスプレイ毎に割り当てられる(!!!)

これが一番重要。xmonadを使う真の理由はこれ。
通常のxinerama対応ウィンドウマネージャは複数のディスプレイを1つの大きなデスクトップ環境として使えるだけだが、xmonadではディスプレイごとにワークスペースに割り当てることができ、さらに各ワークスペース間でウィンドウの移動が可能なのだ。これが素晴らしい。

GNOME等にも同様の機能があると便利なのにね。あるのかな?

理由5.Haskellで書かれている

これはおまけ。
設定ファイルや機能拡張もHaskellで書けるのでHaskellユーザにはメリットが大きいか。といっても私はHaskell入門を買って放置のへたれユーザーですが。

名前からわかるとおり、Haskellmonadを駆使して書かれている。ちなみにmonadと言えばモナディウスが有名ですね。

その他

とまぁいいことを並べてみたが、イケてない(一般受けしない)部分もある。

キーボードのショートカットを覚えないと手も足もでない
man xmonadで覚えよう。
ウィンドウサイズが固定されると使いにくい(画像ビューア等)ソフトウェアと相性が悪い
全画面に切替えるとか。
複数ウィンドウを開くソフトウェア(Gimp等)と相性が悪い
使えなくはないし、対策用の拡張機能がある。
ghc-6.4 + x11-extras + xmonad-0.2だとxinerama周りがうまく動作しない
ghc-6.6 + x11-extras-darcs + xmonad-darcsで解決。

まぁこれらは大した問題ではなかったり、代替策があったりするので気にする必要はない。さ、xmonadを使え使え。

Gentooであればx11-wm/xmonadがあるので、

# emerge xmonad

でOK。ただしxineramaで使いたいのであればxmonad-darcsが良いだろう。xmonad-darcsを含むebuildこちらで入手可能

追記:x11-wm/xmonadはまだportageには含まれてないです。嘘八百

追記2:Overlayに入ってました。なので、Gentoo的には以下でOK。

# emerge layman darcs
# layman -S
# layman -a haskell
# echo 'PORTDIR_OVERLAY="${PORTDIR_OVERLAY} /usr/portage/local/layman/haskell"' >> /etc/make.conf
# emerge xmonad