ウィンドウマネージャawesomeが最強である○つの理由
先日xmonad最強とか叫んでましたが、もう別のウィンドウマネージャに乗り換えました。
その名もawesome(おーさむ)。
今これ最強です。もう乗り換えたのかとmatsuyamaさんに怒られそうですが。
さて、最強の理由ですが。
dwmの良さを踏襲
dwmのforkなので当たり前といえば当たり前。キーバインドの一部がdwm標準と異なるので注意。
xmonadやwmiiのswapnext,swapprevの機能は取り込んでもらった(1.2以降)。
Xinerama, XRandRサポート
dwmにはなかったXineramaやXRandRのサポートがawesomeには実装済(1.3以降)。xmonadほど洗練された実装ではないが、これがあるとないでは(マルチディスプレイ環境では)大違い。
XRandRのフルサポートは2.1以降の予定。
設定ファイルのサポート
xmonadやdwmなどとは異なり、設定ファイル(${HOME}/.awesomerc)でキーバインド等各種設定ができる。xmonadやdwmのように、設定を変更する度に再コンパイルといった手間がかからない。
Xftサポート
ウィンドウのタイトルやタグ番号のフォント指定がXftに対応(1.3以降)。アンチエイリアシングが効いていい感じ。
ただ、日本語フォントでたまに正しく表示されない場合がある模様。原因はよくわかってません。
例えばIPA P明朝に変更するなら.awesomercを以下のように。
@@ -18,7 +18,7 @@ # Allow floating windows to be below others allow_lower_floats = false # Status bar font (Xft) - font = "fixed-12" + font = "IPAPMincho-10" } colors {
私はsans-10に設定してます。
Compositeによる透過処理をサポート
例えばFloating layoutのウィンドウを透過処理したり、Tiled layoutのウィンドウを透過してバックグラウンドを表示したり。
これが案外便利。実例はオフィシャルのscreenshotsを参照。
ビデオカードの性能が良いのであれば是非利用したいところ。
今はXcompmgr経由での利用だが、将来はネイティブに。XComposite対応は2.2以降の予定。
uim-toolbar-*がまともに使える
xmonadではuim-toolbar-gtk(uim-toolbar-qt)がウィンドウの後ろに隠れてしまい、入力ステータスが見えないという日本語環境にとっては致命的な問題があった*1。awesomeならウィンドウの上に表示される。ただし、Floating layoutのウィンドウの下には隠れてしまう*2。
uimならツールバーを使わず、設定で「全体設定」-「視覚設定」-「カーソルの側に入力モードを表示」にチェックをつけた方が便利です。
Cで書かれているのでHaskell(GHC)不要。
xmonadはHaskellで書かれてたのでGHCが必要だった。これはでかい。GHCのコンパイルって結構時間がかかるから。Gentooだけの問題か。
GHCはバージョンがあがると各Haskellライブラリもアップデートが必要なので、最新版をおっかけるのが至極面倒。特にどんどんバージョンを上げていくポリシーのGentooでは辛い。
だめなところ、惜しいところ
良いところだけではなく、ダメなところも上げておきましょう。
ドキュメント整備中
manやREADMEにはあまり情報がかかれてない。web上で整備されてるのでこちらを参照すると良い。
まずは簡単なガイドツアーから始めて、uicb(キーバインド)の解説を見ながら実際に試して指に覚えこませるのがいいだろう。
コマンド実行が標準のキーバインドには存在しない
dmenuのようなコマンド実行のためのキーバインドが現状存在しないので、.awesomercに以下のように追加。オススメはgmrun。
} + key + { + modkey = {"Mod4", "Shift"} + key = "Return" + command = "spawn" + arg = "exec gmrun" + } key { modkey = {"Mod4"}
csh環境だとこれでは動きませんな。まぁそこらへんは適宜変更で。
マルチディスプレイ環境での実装が洗練されてない
まだxmonadの素晴らしい物理タグと論理タグの実装には遠く及ばない。2.0以降で実装予定。
ウィンドウ制御がたまに変
マルチディスプレイ環境でFloating layoutのウィンドウをディスプレイ跨ぎで動かすとたまに挙動がおかしくなる。2.0で修正されました。
タグの編集ができない
各仮想デスクトップ(タグ)の名称を動的に変更できない。まぁ私的には変更したいと思わないのであまり問題はない。2.0で編集できるようになりました
awesomeは形容詞
[1]恐ろしい, すさまじい.
[2]おそれかしこんだ〔態度など〕.
[3]【米話】 とてもよい, すばらしい.出典:Yahoo! Japan 新グローバル英和辞典
と、形容詞なのでGoogleで検索してもなかなか該当の情報が見つからなかったりする。
まぁそのうちメジャーになって上位に来るだろう。
その他
1.3がリリースされてない今の状況ではgitのmasterおっかけを推奨。1.3がリリースされれば1.3でも良いんじゃないかと。1.3がリリースされました。2.0がリリースされました。
git最新版をおっかけるebuildは以下のとおり。x11-wm/awesome-9999.ebuildとかでどうぞ。
# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ WANT_AUTOCONF=latest WANT_AUTOMAKE=latest inherit git autotools toolchain-funcs eutils DESCRIPTION="awesome is a window manager initialy based on a dwm code rewriting" HOMEPAGE="http://awesome.naquadah.org/" #SRC_URI="http://awesome.naquadah.org/download/${P}.tar.gz" EGIT_REPO_URI="git://git.naquadah.org/awesome.git" LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" IUSE="" RDEPEND=">=dev-libs/confuse-2.6 x11-libs/cairo x11-libs/libX11 x11-libs/libXext x11-libs/libXft x11-libs/libXrandr x11-libs/libXinerama" DEPEND="${RDEPEND} app-text/asciidoc app-text/xmlto app-doc/doxygen dev-util/pkgconfig x11-proto/xineramaproto" src_unpack() { git_src_unpack cd "${S}" ./autogen.sh || die } src_install() { emake DESTDIR="${D}" install || die "emake install failed" exeinto /etc/X11/Sessions newexe "${FILESDIR}"/${PN}-session ${PN} insinto /usr/share/xsessions doins "${FILESDIR}"/${PN}.desktop insinto /usr/share/awesome/icons/layouts doins icons/layouts/* dodoc AUTHORS README STYLE awesomerc }
gentooでは私がパッケージメンテナになりました。x11-wm/awesomeで本家ツリーに取り込んでます。
# emerge awesome
で一発ポン。
FreeBSD、OpenBSD、ArchLinux、SUSEのパッケージもそれぞれ取り込まれてます。awesomeの作者はdebian developerなのでlibconfigの問題(bug#441200)が解消されればdebian/ubuntuにも取り込まれることでしょう。libconfigはlibconfuseに置き換えられました。
OTPの記事にもあるとおり、今タイル型ウィンドウマネージャが非常に熱い。日本タイル型ウィンドウマネージャユーザー会(JTWMUG; Japan Tiling Window Manager Users Group)でも作っとく?