Xmonad

xmonadは、X Window System上で動作するタイル型ウィンドウマネージャであり、関数型プログラミング言語であるHaskellで記述されています。2007年3月に開発が開始され、dwm、larswm、StumpWMなどの他のタイル型ウィンドウマネージャと同様に、マウスを使用せずに効率的にウィンドウを制御することを目指しています。

多くのUnix系OSで利用可能であり、Arch [[Linux]]、Debian、Ubuntu、Gentoo、FreeBSD、NetBSDOpenBSDなどが含まれます。xmonadは、当初dwmのクローンとして開発されましたが、現在ではワークスペースごとのレイアウト、タイリングのリフレクション、状態の保存、レイアウトのミラーリング、GNOME上でのサポート、ステータスバーなど、dwmにはない多くの機能が実装されています。

設定ファイルの変更とリロードにより、実行中でもカスタマイズが可能です。xmonadの特徴は、他のタイル型ウィンドウマネージャに影響を与えており、例えばdwmはurgency hooksという機能をxmonadから取り入れ、バージョン4.8ではxmonadの機能であるFibonacciレイアウトを実装するためにXineramaのサポートを導入しました。

xmonadのコアシステムの拡張は、活発なコミュニティによって行われており、他のウィンドウマネージャのエミュレーションや、Fibonacciレイアウトのような特殊なレイアウトアルゴリズムなどがライブラリとして利用できます。マウス操作を不要にするだけでなく、xmonadバージョン0.7では、開発にsemi-formal methodとプログラム導出を多く利用することで、信頼性の向上とコード量の削減(1200行以下)を実現しました。例えば、ウィンドウマネージャの特性(ウィンドウフォーカスの挙動など)は、QuickCheckを用いて検査されています。

xmonadはHaskellで書かれた最初のウィンドウマネージャであるだけでなく、フォーカス処理にzipperデータ構造を採用している点も特徴的です。パターンマッチングを用いることでこの構造の安全性が証明され、信頼性の向上に貢献しています。

開発者は、「xmonadはHaskellで実装、設定、動的拡張が可能なX Window System用のタイル型ウィンドウマネージャです。xmonadの実装は、副作用に支配されたソフトウェアを、純粋関数型データ構造、表現力の高い型システム、高度な静的検査、特性ベーステストを活用したHaskellを用いて、正確かつ効率的に開発できることを示しています。さらに、Haskellはアプリケーションの設定と拡張のための言語でもあると考えています」と述べています。

xmonadの実装には、Haskellの特性に加え、XlibやxftのHaskellバインディング、QuickCheck、パターンガードのようなGHC拡張、モナド、モナド変換、zipper、Cabalライブラリなど、様々なツールが利用されています。

これらの要素が組み合わさり、xmonadは機能性と信頼性を兼ね備えた、独特のウィンドウマネージャとして存在しています。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。