awesome 是眾多衍生自 dwm 的 window manager 的其中之一,是一種 tiling window manager。第一次接觸到 tiling wm 是 ion,但是因為設定不容易且用不習慣,一下就放棄了。幾個月前發現時常有人在 Debian Planet 上 awesome, awesome 的嚷嚷,花了點時間才搜尋到這個 wm 的首頁,稍微試用一下卻馬上就被吸引住了!目前的 stable 版本也就是我第一次使用的是 awesome 2.3 版,主打的是簡單的設定檔,良好的 EWMH 支持,XRandr/Xinerama 支持等,還有就是比 virtual desktop 更方便的 tag 用法,動態的 layout 等。噢,還有一個一定要提的就是 widget 的支援,awesome 提供基礎的顯示元件如 text, graph, image 等,可以利用 script 把資訊更新到 widget 上,可以輕鬆的自製 widget。
2.3 版用的還挺習慣的,widget 雖然需要用 script 去更新資料,但是也有許多人寫好許多模組利用 ruby, perl 或是獨立程式去更新資料。可是在我還在適應期,還沒開始自訂我的環境時,jd 宣佈開始 awesome 3 的開發,要全面使用 XCB 並引入 Lua 作為設定/程式介面。心養養的我就開始使用 git 版的 awesome,awesome 3 因為引入 XCB 幾乎全面改寫,而 Lua 使得 awesome 大部分的操作都便得動態且可以自訂,如 widget 就可以用 Lua 完成,client 的操作、tag 的切換、快捷鍵的設定,通通都可以透過 Lua 設定卻又維持一定的可讀性。因此,awesome 3 的定位變成了進階使用者為主,高度客製化的 framework window manager。
使用寬螢幕或是大螢幕時,常要調整視窗大小,不容易完全利用到整個螢幕的空間,compiz 等 3d wm 雖然特效絢麗,但是仍比不上 tiling wm 的方便有效率。awesome 推出沒多久就受到許多人的青睞,在這次的 DebConf8 就有數位 DD 使用 awesome 上台演說呢 XD
awesome 3 預計下禮拜就要釋出了,Debian 的使用者可以直接從 experimental 安裝 3.0~rc5
從官網節錄的一些特性:
- 目前唯一使用 XCB 的 window manager
- 良好的文件
- 所有工作皆可用鍵盤完成
- Multihead 支援,可用 XRandR, Xinerama, Zaphod
- 實做 Freedesktop 標準:EWMH, XDG Base Directory, XEmbed, System Tray
- 根據不同 tag 的 policy 自動排列視窗
- 使用 tag 而不是 workspace,可以根據需要選擇要顯示哪些 tag 內的視窗,可以同時選擇多個 tag
- 可以使用眾多的 Lua 擴充:dynamic tagging, widget feeding, tabs, …
- D-Bus 支援
awesome 的客製化可以參考 Wiki 以及 Lua api doc