| 素晴らしい | |
|---|---|
![]() | |
ターミナルが開いていると素晴らしい | |
| 原作者 | ジュリアン・ダンジュー |
| 初回リリース | 2007年9月18日[ 1 ] (2007年9月18日) |
| 安定版リリース | 4.3 [ 2 ] |
| リポジトリ | |
| 書かれた | CとLua |
| オペレーティング·システム | Unixライク |
| タイプ | ウィンドウマネージャー |
| ライセンス | GPL-2.0以降[ 3 ] |
| Webサイト | awesomewm.org |
awesomeは、 C言語とLua言語で開発されたX Window System用の動的ウィンドウマネージャです。Luaはウィンドウマネージャの設定と拡張にも使用されます。開発はdwmのフォークとして始まりましたが、その後大きく変化しました。[ 4 ] awesomeは、非常に小型で高速でありながら、幅広いカスタマイズ性を実現することを目指しています。これにより、ユーザーはキーボードを使ってウィンドウを操作できます。
このフォークは当初jdwmというニックネームで呼ばれていました。「jd」は主要なプログラマーのイニシャル、「dwm」はフォーク元のソフトウェアプロジェクトを表します。後に awesome となるものの最初の Git リポジトリは 2007 年 9 月に作成されました。jdwm は awesome に改名されました。これは、ドラマ「ママと恋に落ちるまで」の登場人物バーニー・スティンソンが使ったフレーズにちなんで名付けられました。[ 5 ] awesome は 2007 年 9 月 20 日に dwm メーリングリストで正式に発表されました。[ 4 ]
ウィンドウマネージャーは、Webブラウザ、メールリーダー、テキストエディタなど、日常業務で最もよく使われるソフトウェアの一つでしょう。パワーユーザーやプログラマーは、これらの日常業務のために、様々なツールから幅広い選択肢を持っています。中には、高度な拡張性と設定が可能なものもあります。
awesome は、私たちが欠けているもの、つまり拡張可能で高度に構成可能なウィンドウ マネージャーをこれらのツールに組み入れようとしています。
この目標を達成するために、awesomeはフレームワーク型ウィンドウマネージャとして設計されました。Luaプログラミング言語を使用することで、非常に高速、小型、動的、そして高度な拡張性を備えています。[ 6 ]
awesomeは、外部設定ファイルによるカスタマイズ機能を備えたDWMのフォークとして登場しました(後述の設定とカスタマイズを参照)。高度な拡張性を備えているものの、ウィンドウマネージャのデフォルト設定は意図的に簡素化されています。これにより、作者はユーザーが独自のニーズに合わせて拡張・適応できる「フレームワーク・ウィンドウマネージャ」[ 5 ]を構築しました。
当初から、awesomeは外部設定ファイルを持つdwmフォークとして考案されました。 [ 5 ]そのため、その設定ファイルの形式と設定プロセス自体は、作者によって特別な注意を払われました。
3回目のメジャーリリース以前のawesomeの特徴の一つは、Danjouが「複雑な設定が不要」と呼んでいたものでした。[ 7 ] awesomeの最初のバージョン(1.x)は、libconfigを用いたフラットファイル設定でdwmを単純に変更したものでした。2.xブランチでは、Danjouは設定ライブラリをlibconfigから、libconfigに似た別のフラットファイル設定ライブラリであるlibconfuseに変更しました。2.xリリースの開発中に、タイトルバーやアイコン描画など、多くのカスタマイズ機能がawesomeに追加されました。[ 5 ]
2008年5月20日、ダンジューはawesomeメーリングリスト[ 8 ]宛てのメールで、バージョン3.0リリースで設定ファイルの新しいフォーマットが使用されることを発表しました。新しいフォーマットは当初~/.awesomerc.luaファイルに保存されていましたが、後に~/.config/awesome/rc.luaに移動されました。拡張子が示すように、設定ファイルはLuaプログラミング言語で記述されています。ダンジューは、新しいフォーマットとLuaの統合により、awesomeユーザーはこれまで不可能と考えていた方法でawesomeをカスタマイズできるようになると主張しました。つまり、設定にプログラミング言語を使用することで、設定オプションを動的に指定することが可能になるのです。[ 8 ]
awesome Lua APIは現在awesomeのホームページでホストされており、[ 9 ] awesomeの設定方法に関するチュートリアル形式の記事がawesome Wikiに掲載されています。[ 10 ]
ウィンドウマネージャーのBeautifulライブラリを使用することで、素晴らしいテーマ(またはスキン)を適用することができます。 [ 11 ] rc.lua設定ファイルに従って、テーマ設定もLuaで行われるため、動的なテーマを作成できます。
3.2.1リリース時点でのデフォルトのawesome設定にはステータスインジケーター(ワイヤレスネットワークステータス、バッテリーインジケーターなど)はありませんが、ユーザーはウィジェットを使用してこれらの項目を追加できます。[ 12 ]ウィジェットはメイン設定ファイルで定義されているため、 ウィジェットのデータは任意のLuaコードを使用して提供されます。
2008年9月18日にリリースされたバージョン3.0では、Xサーバーとの通信にXCBライブラリが使用され、 [ 13 ] AwesomeはXlibではなくこのライブラリを使用する最初のウィンドウマネージャーとなりました。XCBへの移植作業は、現在のAwesome開発者の一人であるArnaud Fontaineによって2008年1月に開始されました[ 14 ]。[ 5 ]
アルノー・フォンテーヌは2008年4月9日、XCBメーリングリストでXCBへの移行を発表しました。[ 13 ]彼はメーリングリストへのメッセージの中で、XCBを使用する主な利点として「モジュール型アーキテクチャ、プロトコルへの直接アクセス、マルチスレッド、非同期リクエスト/応答」を強調しました。XCBへの移植は翌月に完了し、ダンジューはXCBをベースにした新しいブランチを作成しました。[ 5 ]
awesome 3.0以前のバージョンでは拡張性とカスタマイズ性が制限されていたため、作者はLuaベースの設定をawesomeに統合することにしました。[ 7 ]新しいLuaスクリプト実装のrc1は2008年8月に発表されました。[ 15 ] 2008年9月、Lua APIを搭載したawesomeの最初のバージョンがXCB実装と並行して完成しました。[ 7 ]
awesomeは、 Arch Linux、[ 16 ] Debian、[ 17 ] Fedora Linux、Gentoo、[ 18 ] Ubuntu、[ 19 ] Source Mage、openSUSE、[ 20 ] Mageia、NixOS、FreeBSD、NetBSD 、 OpenBSDなど、幅広いUnix系オペレーティングシステムで配布されています。
awesomeバージョン1.0から1.3(2007年9月~10月)までは名前が付けられていませんでした。最初の2.0リリース候補(2007年11月)以降、awesomeは名前付きのリリースを使用しています。[ 21 ]リリース名は音楽に関連しています。awesome v4.xではDaft Punkの曲名が使用されています。