読者です 読者をやめる 読者になる 読者になる

$ service ssh0 start

from everything import *

タイル型ウィンドウマネージャxmonad【自分のPCで使用しているソフトウェア,設定の紹介 #2】

今日は,環境紹介の第2弾として,現在使用しているウィンドウマネージャである,xmonadについて,その特徴と何故使用しているのか,などを紹介してみようと思います。 (xmonadの設定,特にSpacingに関するこだわりについては明日触れようと思います。)

ウィンドウマネージャとは,前回のエントリでも少し触れましたが,GUIのウィンドウシステムにおける,ウィンドウの配置や外観,振る舞いなどを管理するソフトウェアのことです。

普段よく目にし,また使用感に大きくかかわるところなので,気になる人は多いんじゃないかと思います。

しかし一方で,これも前回述べたことですが,ウィンドウマネージャは変更できる,ということを知らないでいると,例えば「UbuntuはUnityデスクトップ環境だから重くて良くない」とか,「lubuntuは軽くていい」,とか,あるいは「Linux MintWindowsと似ているので良い」,だとかいう話に終始しがちです。

しかしながら実際はもっとシンプルで,好きな見た目で使いやすいウィンドウマネージャがあれば,それを使えばいいだけです。

僕自身は,ウィンドウマネージャをいくつかの種類,ある期間試してきて,現在に至っています。

初めは普通にUbuntuをダウンロードしてきて使っていたので,Unity)デスクトップ環境にある程度慣れていました。

しかし,非力なノートPCを使用していたのもあって,少し不便さを感じていました。

そこで知ったのがLXDEで,早速自分でインストールして使いはじめると,外観はWindows XPを思い出させるような作りで,すこし野暮ったくもありしたが,そのうちテーマをダウンロードしてきて適用する方法を身につけて,好きな見た目にカスタマイズしながらも軽量な環境を気に入って使っていました。

ある程度LXDEでの生活に慣れた頃に,新しくノートPCを購入し,UbuntuWindows 8デュアルブートにして使用し始めました。 このノートPCは先のノートPCよりもスペックが上だったので,スクリーンショットなどで見ていて試してみたかったいくつかのソフトウェアを試すことができました。

初めはGNOME 3をインストールしてきて,テーマを色々見たりしながら,よく使っていました。GNOME 3に対する僕の印象は,外観はスッキリしていて(幾分Macっぽい),好みな感じでした。 付属されてくるアプリケーションなども,シンプルで(むしろシンプルすぎる)いい感じでした。

次に使ってみたのはKDEデスクトップです。これはかなりリッチな見た目で,カスタマイズ可能なパネルをデスクトップ上に置ける点が,他と比較して特にユニークな点かもしれません。 また,付属してくるソフトウェアの数も多く,すべてを試すことはできませんでしたが,印象としては重量級,というところでしょうか。 次バージョンのKDE Plasma 5なんかは特に洗練された見た目で,マシンスペックが許すなら,これでドヤ顔できるかっこいい外観だと思います。

さて,これまで見てきたウィンドウマネージャは,Wikipediaによる分類ではコンポジット型ウィンドウマネージャにあたります。WindowsMac OS XGUIも同様の分類に入ります。

一方で,タイル型ウィンドウマネージャと呼ばれるものがありますが,これはウィンドウ同士が(原則)重ならないように自動的に配置されるもので,ウィンドウの重なりを解消するためにウィンドウの端を摘んでリサイズしたり動かしたりする手間がない,という面で良いです。

とはいえ最近のWMは大抵ウィンドウを摘んで画面端までドラックすると,画面半分,もしくは4分割の1つの領域に固定されるような機能をもっていることが多いです。

しかしながらタイル型ウィンドウマネージャの場合は,特に何も指定しなくとも新たにウィンドウが生成された時には自動的にタイル型に配置されるので,自分のような凝り性であるにも関わらず面倒くさがり,という(困った)タイプの人間には,ベストチョイスとさえ言えるかもしれません。なぜなら,一度どう配置されるかを設定してしまえば,後はどんな時にもその配置にカチッとハマってくれるのです。

これは一度体験してもらうのが一番かもしれませんが,なんとも言えない気持ちのいい感覚になるものです。

だんだん気持ち悪くなってきましたね。もう少しお付き合いください。

初めに出会ったのはawesomeというものです。デフォルトではフロート表示であったり,割とタイル型初心者にとっても取っ付き易く,いいウィンドウマネージャだと思います。

そしてちょうどこの頃ディスプレイを購入し,ノートPCを接続して外部モニタのみで表示するというスタイルになっていました。

ちょうどその時に書いていたQiitaの記事

でも言及していますが,awesomeはマルチディスプレイ機能に対応していると謳ってはいますが,ところどころで問題があったため,他のタイル型ウィンドウマネージャの可能性を探っていました。

そんな時に出会ったのがxmonadというタイル型ウィンドウマネージャです。

f:id:ssh0:20160524214510p:plain

設定ファイルはHaskellで記述されており,Haskell初心者としては大変な部分も多いですが,ライブラリも充実しており,自分の望む挙動を細かく指定することができるので気に入っています。

と変遷を経てきましたが,現在は上で載せたスクリーンショットのような外見になっています。

ウィンドウの周りの余計な装飾が一切なく,ウィンドウを閉じたり配置を変えたりフォーカスを移動するのにはそれぞれキーボードショートカットを用います。 マウスを持つ回数を劇的に減らすことができ,少ない労力で複数のアプリケーションを同時に使うことができます。

現在の設定ファイルはGitHubのdotfilesにあげてあります。もし試してみたい方は,参考にされば幸いです。


明日はこの設定の内容について,解説できればと思います。