Awesome

awesome（オーサム）は、X Window System上で動作する動的タイル型ウィンドウマネージャ。CおよびLua言語で開発されている。その開発はdwmからフォークして始まり、超小型かつ高速であること、フロート配置、タイル配置、およびそれらの複合といった複数のレイアウトをサポートすることを目指している。awesomeは他の多くのタイル型ウィンドウマネージャと同様に、利用者がマウスを使わずに生産的にウィンドウ管理を行うことができるよう努めている。また、Pangoマークアップ言語やD-Busもサポートしている。 フォークした当初はjdwmと呼ばれていたが（“J”はawesomeの開発者であるJulien Danjouの頭文字）、2007年9月にGitリポジトリが用意されたときにawesomeとされた。それはアメリカのコメディドラマ『How I Met Your Mother』のキャラクターBarney Stinsonが使っていたフレーズにちなんでいる。awesomeウィンドウマネージャは2007年9月20日にdwmのメーリングリスト上で公式にアナウンスされた。 awesomeは外部構成ファイルによるカスタマイズ機能を持つdwmのフォークとして出現し、高い拡張性を具備するが、ウィンドウマネージャのデフォルト設定は意図的に簡素化してある。開発者はそれをユーザのニーズに適応し拡張する「フレームワークウィンドウマネージャ」と呼んで作成した。 さまざまなウィジェット（テキストおよびアイコンボックス、グラフ、プログレスバーなど）が含まれる画面ごとの複数のステータスバー。 マウスに依存しない、キーボード操作による迅速化を可能とするデスクトップ環境。 マルチヘッド（XRandR、Xinerama、またはZaphodモード）をサポート。 多くのFreedesktop.org標準の実装（EWMH、XDG Base Directory、XEmbed、Desktop Notification、System Tray）。 リアル透明化サポート（コンポジットエクステンションおよびxcompmgrを使用） ワークスペースの代わりにタグを使用。 Luaスクリプトの構成ファイルによる完全なカスタマイズ性。 環境を操作する各機能のキー、マウスボタンへのバインドおよびD-Bus経由によるリモート実行が可能（awesome-client）。 当初からawesomeは、dwmの外部構成ファイルを使用するフォークとして考えられていた。そのため、その構成ファイルフォーマットおよび構成プロセスには、開発者によって特別な注意が払われた。一方で、バージョンアップのたびにしばしば構成ファイルの仕様が（後方互換性なしに）変更されている。 バージョン3より前は、awesomeの特徴と言えば、Danjuが「複雑ではない構成設定」と呼んだものだった。awesomeの最初のバージョン（1.x）は、dwmにlibconfigを使用した構成ファイルを実装したもので、構成ファイルの形式はフラットファイルだった。バージョン2.xブランチでは、Danjouは構成ライブラリを、libconfigから、libconfigと少し似ているが別のフラットファイル構成ライブラリであるlibconfuseへ変更した。バージョン2.xの開発中、タイトルバーやアイコン描画などの、多くのカスタマイズ機能が追加された。 2008年5月20日、Danjouはawesomeメーリングリスト上において、バージョン3から新しいフォーマットの構成ファイルを使用することをアナウンスし、構成ファイルはLua言語で記述されることが示唆された。Danjouは、新しいフォーマットとLuaの統合により、彼が以前は不可能であると考えていた方向でawesomeユーザーはawesomeをカスタマイズできると主張した — 構成設定のためにプログラミング言語を使用することは、構成オプションをダイナミックに指定することを可能にした。新しい構成ファイルのパスは $HOME/.awesomerc.lua とされ、後に $XDG_CONFIG_HOME/awesome/rc.lua へ変更された。 awesomeのLua APIはawesomeのホームページで公開されており、構成設定のチュートリアル形式の記事がawesome wikiに掲載されている。 バージョン2.xから移行するユーザのために、awesome configuration converter（acc）が開発されている（2009年7月現在、開発中であり、まだ使用できない）。 awesomeは、Beautifulライブラリを使用してテーマ（またはスキン）を導入することができる。rc.lua構成ファイルにあわせ、テーマもLuaで記述し、ダイナミックなテーマ作成が可能となっている。 awesome 3.2.1のデフォルト設定では、ステータスインジケータの類（ワイヤレスネットワークステータス、バッテリインジケータなど）はないが、これらをウィジェットを使って追加することができる。ウィジェットはメイン構成ファイルで定義され、ウィジェットのデータは任意のLuaコードを使用して供給される。 ウィジェットを作成するときに使用できる、Wicked Luaライブラリも用意されている。Wickedはawesomeには同梱されないが、Debian、Arch Linux、Gentoo Linuxなどを含む多くのディストリビューションから提供されている。 2008年9月18日にリリースされたバージョン3.0では、X Serverとの通信にXCBライブラリを使用し、Xlibの代わりにこのライブラリを使用した初めてのウィンドウマネージャとなった。 awesome標準ライブラリの中には「invaders」と呼ばれるものがあり、これにはアーケードゲームスペースインベーダーのクローンが含まれている。 ^ git.naquadah.org Git - awesome.git/history - LICENSE ^ a b c d Julien Danjou's blog: Taking the other direction (April 15th, 2009) ^ dwmメーリングリストでのプロジェクトアナウンス ^ “about - awesome window manager”. 2009年4月23日閲覧。 ^ awesome 3: Lua integration ^ a b News on awesome-3 and about latest commits (May 20, 2008) ^ awesome API documentation ^ awesome wiki: Awesome 3 configuration ^ awesome wiki: Acc ^ awesome wiki: Beautiful ^ awesome wiki: Widgets in awesome ^ awesome wiki: Wicked library ^ XCB transition announcement from XCB mailing list ^ Invaders library API documentation ポータル FLOSS 公式ウェブサイト カスタマイズ例 Manページ スクリーンショット Julien Danjouのブログ: Space invaders for awesome 日本タイル型ウィンドウマネージャ推進委員会: awesome タイル型ウィンドウマネージャawesome、知ってますか？ - ZDNet Japan