前職でオススメのタイル型ウィンドウマネージャを聞かれたので僕なりの解説をしてみました

「今twmかi3かxmonadで悩んでます」
「ぉ。宗教戦争ですね!それぞれの利点がありますよ!」
「これは話すと長いので家に帰ったら詳細を書きますー」

などという会話が某L社のチャットで流れたのをキッカケにして僕の中でなにかがはじけました。そのチャットでの発言をブログにも残しておこうと思います。

1st: 「twmについて」

“X11R4以降、標準のウィンドウマネージャとしてXサーバに同梱されている。” https://ja.wikipedia.org/wiki/Twm

これが唯一無二の強みです。例えばNetBSDのようにOSがパッケージに分割されておらず、ベースシステムとパッケージ(pkgsrc)にわかれている場合、i3wmやxmonadを使いたければpkgsrcでインストールせねばなりません。ときおり競合によって使用不能になるケースもあるかもしれません。twmならベースシステムに含まれているので、NetBSD OSのアップグレードさえ成功すれば問題なく使えます。Linuxでは「全てがパッケージ」という考え方が主流ですが、BSDではベースシステムと{ports,pkgsrc}がわかれているのが主流です。その場合自分の作業基盤が{ports,pkgsrc}に依存していると非常事態のときに身動きが取れなくなります。

R社時代にSさんという伝説のハッカー社員がいました。彼は20世紀にNetBSDを使ってプリンタを設計しようという狂ったアイデアを影で推進した張本人です。彼は「最後の砦」でした。だれにもわからないNetBSD kernelのバグを彼はコードをタグジャンプしたりカーネルデバッガを時折使ったりするだけで解決していました。彼はtwmのユーザでした。彼のデスクトップは「左上: xterm」「左下: xterm」「右側上下: Emacs」というワークスペースのまま、まったくワークスペースを切り換えことなくハックしていました。

そんなBSDカーネルハッカーになりたいあなたにおすすめなのはtwmです!

2nd: 「xmonadについて」

”このウィンドウマネージャは、関数型プログラミング言語Haskellで書かれている。” / “実行中に、設定ファイルを変更しリロードすることで、カスタマイズ可能である。” / xmonad – Wikipedia https://ja.wikipedia.org/wiki/Xmonad

この「設定ファイル」とは何者で、どんな文法なのでしょうか?なんとそれはHaskell言語そのものなのです!具体的な設定ファイルの例はこちらから閲覧できます / https://wiki.haskell.org/Xmonad/Config_archive

実は実際にはxmonadはアプリケーションではなくライブラリでしかないのです。実際最小のxmonadの設定ファイルは以下で記述できます。

https://wiki.haskell.org/Xmonad/Config_archive#Minimal_xmonad_config_files

import XMonad
 
main = xmonad defaultConfig {
      modMask = mod4Mask -- Use Super instead of Alt
    , terminal = "urxvt"
}

なるほど。だからXモナドなんですね。名は体を表わすという訳です。

というとはこの設定ファイルの中ではありとあらゆるHaskellのライブラリを使って自由に拡張可能なことになります。Haskell言語は近年ではおそらく最も豊かな型システムを持つ言語でしょう。それは国際学会ICFPにおけるHaskell言語の扱いを見れば一目瞭然です。 / ICFP 2017 http://conf.researchr.org/home/icfp-2017

icfp2017

Haskell言語だけ特別扱いで2日間ぶちぬきの #シンポジウム が開かれます。一方OCamlなどの言語には1日間しか与えれていません。そしてOCamlのそれは #ワークショップ です。日本でいうところの #学会 と #お勉強会 の違いのようなものでしょうか。とにかくHaskellは今ぶっちぎりで最先端をはしる高階な言語なのです。(高階なことが良いか悪いかは別にしてですが)

そんな世界一イケているソフトウェア設計言語Haskellで自分のデスクトップを自由自在に拡張したい。カスタマイズしはじめると止まらない貴方におすすめなのがxmonadです!

3rd: 「i3wmについて」

“i3 is a tiling window manager designed for X11, inspired by wmii, and written in C.” / i3 (window manager) – Wikipedia https://en.wikipedia.org/wiki/I3_(window_manager)

え、C言語で書かれているのはいいんだけど、他になんか特徴はないの?って思うんじゃないでしょうか。じゃじゃーん。実はとりたてて特徴がないタイル型ウィンドウマジェージャがi3wmなのでーす。

i3wmはデフォルトの設定を特に弄らなくても容易にステータスバーがいいかんじに表示されるようになっています。キットインしたらすぐ使える。そしてだれもが「まぁ、、、無しってことはないデフォルト設定だなぁ」と納得してしまう。そんなぼんやりしたタイル型ウィンドウマネージャの凡人です。

でもね。人間を想像してみてください。特別な人ってどこかいびつだから特別なのではないでしょうか?20世紀のしっかりした日本製品は特別な人が設計したのではありませんでした。凡人の集団が凡人なりに努力をして、凡人なりの落しどころを作り、丁寧な再発防止をした結果産まれたMade in Japan。それを支えたのは凡人達だったのです。

“俺は普通だから変わったとこもないから、好きなものだって特別にはないんだ” / http://www.uta-net.com/song/221954/

そう #普通であること に悩み、そしてそれでも生きるあなたにこそおすすめしたいのが、i3wmです!

あなたは…?

さぁ3人のペルソナ、あなたは誰を選びますか?誰になりたいですか?その思いが答です。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中