1. 簡介

Awesome Window Manager 的目標,是做個可擴充、可高度自訂的視窗管理員。

為了達到這個目的,awesome 是設計成一個 framework window manager,極為快速、小巧、動態、且可用 Lua programming language 來擴充。

1.1. awesome 的視窗管理

awesome 的視窗管理與傳統的 x-Window-manager 不同,它是用「標籤」來作管理的。

啟動 awesome 後,畫面左上方標示著 one,two…nine,稱為標籤 (tag),one, two, three …… 等就是標籤的名稱。

「標籤」的功能乍用之下有點類似虛擬桌面 (workspace),但其實概念上是很不一樣的東西。

awesome 會給視窗加上「標籤」,當我們選擇 one 時,就代表要顯示具有 one 這個標籤的視窗。如果覺得用小小的標籤管理視窗有點不習慣,不妨將畫面左上的 tag 想成是那個 tag 的 workspace,每當我們選取了某個 tag,就代表我們要顯示那個 tag 所代表的 workspace,每當我們給某個視窗加上 tag,就代表我們將那視窗加入那個 tag 的 workspace。

在 awesome 中,我們可以透過簡單的操作,將視窗加上一或多個標籤,並決定目前螢幕上要顯示具有某個或某幾個標籤的視窗,這讓視窗的管理更具彈性。

例如,我們可以將具有 one, two, three 標籤的視窗都同時顯示在螢幕上,也可以輕易切換為只顯示 one 或 two 標籤的視窗。

也可以給某個視窗加上 one, two, three 三個標籤,如此,無論你現在顯示 one,或 two,或 three,都可以顯示這個視窗。

這些功能,其實並不稀奇,但 awesome 之所以 awesome,是因為這些視窗管理都可以透過簡單的鍵盤、滑鼠來即時操作!

1.2. awesome 版面配置的方式 (layout)

平鋪 (Tiled) 使用這種版面配置時,awesome 會把視窗分成主視窗區 (master area) 與堆疊區 (stacking area),主視窗區放置我們目前比較關注的視窗,其他視窗放在堆疊區。主視窗區可切割成好幾列 (row) 與好幾欄 (column),隨你高興。
最大視野 (Max) 每個視窗都調整到全螢幕。
放大 (Magnifier) 焦點所在的視窗維持在畫面中央並佔用最大的空間,其餘視窗都堆疊到這個視窗後。
浮動 (Floating) 可自由改變每個視窗的大小,就像一般的視窗管理員一樣。

不管使用那一種版面配置模式,對話方塊視窗總是以 floating 來處理。

1.3. awesome 的介面元素

狀態列 (Statusbar) 可放在螢幕的上下左右邊緣,包含一或多個 widgets。
標題列 (Titlebar) 類似狀態列,但是是在視窗的邊緣。
小工具 (Widget) 在狀態列或標題列中的東西,可以文字、圖形、進度列、圖表等各種小東西顯示各種資訊。

2. 第一次用 awesome 要知道的

3. 不是第一次使用 awesome 要知道的

4. 預設的滑鼠按鍵功能

5. 預設的按鍵設定

awesome 提供了極豐富的快捷鍵。

5.1. 與狀態列相關

Win + F1 (Mod4 + F1)

用 awesome-menu 來讀 manual pages。

Win + F2 (Mod4 + F2)

用 awesome-menu 來執行程式。

Win + F3 (Mod4 + F3)

用 awesome-menu 來 ssh 到一台主機去。

Win + b (Mod4 + b)

開啟/關閉狀態列 (Toggle statusbar)

所謂的狀態列,就是指螢幕上方的標籤以及顯示目前開啟的視窗的地方。

5.2. 開始使用/離開/重新啟動 awesome

Win + Return (Mod4 + Return)

開啟 X terminal emulator。

Win + Shift + q (Mod4 + Shift + q)

離開 awesome (Quit awesome)。

Win + Ctrl + r (Mod4 + Control + r)

重新啟動 awesome (Restart awesome)。

5.3. 切換焦點

Win + j (Mod4 + j)

將焦點切換到下一個視窗 (Focus next client)。

Win + k (Mod4 + k)

將焦點切換到前一個視窗 (Focus previous client)。

5.4. 切換視野

Win + Left (Mod4 + Left)

看上一個標籤 (View previous tag)。

Win + Right (Mod4 + Right)

看下一個標籤 (View next tag)。

Win + 0-9 (Mod4 + 0-9)

切換到 tag 0-9 (Switch to tag 1-9, 0 for all)。0 代表顯示所有的視窗。

Win + Esc (Mod4 + Escape)

看先前選取的標籤 (View previously selected tag)。可在之前/目前所在的標籤之間切換。

Win + Control + j (Mod4 + Control + j)

將焦點切換到下一個螢幕 (Focus next screen)。

Win + Control + k (Mod4 + Control + k)

將焦點切換到上一個螢幕 (Focus previous screen)。

5.5. 移動視窗

Win + Shift + j (Mod4 + Shift + j)

將目前視窗與下一個視窗交換位置 (Switch client with next client)。

Win + Shift + l (Mod4 + Shift + k)

將目前視窗與前一個視窗交換位置 (Switch client with previous client)。

5.6. 視窗管理

Win + Shift + c (Mod4 + Shift + c)

關掉視窗 (Kill client)。

Win + Ctrl + 0-9 (Mod4 + Control + 0-9)

將標籤為 [0-9] 的視窗顯示在螢幕上 (Toggle tag view)。

可想成,要控制 (Control) 標籤為 [0-9] 的視窗 (Win)。

Win + Shift + 0-9 (Mod4 + Shift + 0-9)

給某個視窗加上標籤 (Tag client with tag)。

按下去後,視窗會消失在目前螢幕上,跑到新的標籤去,其實也就是把焦點所在的視窗搬到指定的標籤去。相當於在標籤上按 Win + 滑鼠左鍵

Win + Shift + Ctrl + 0-9 (Mod4 + Shift + Ctrl + 0-9)

為焦點所在視窗 加上/去掉 標籤 (Toggle tag on client)。

按下去後,視窗仍在目前螢幕上,不會消失,相當於在某個標籤上按 Win + 滑鼠右鍵

5.7. 切換版面配置

Win + 空白鍵 (Mod4 + space)

切換到下一個 layout。

Win + Shift + 空白鍵 (Mod4 + Shift + space)

切換到前一個 layout。

5.8. 調整版面配置區塊的大小

Win + h (Mod4 + h)

減少 主視窗區 5% 的高/寬度 (Decrease master width factor by 5%)。

Win + l (Mod4 + l)

增加 主視窗區 5% 的高/寬度 (Increase master width factor by 5%)。

Win + m (Mod4 + m)

將 client 設定成最大化 (Set client maximized)。

再按一次會回復原來大小。

Win + Ctrl + Enter (Mod4 + Control + Return)

Zoom client. (我試不出這個功能)

5.9. 調整版面配置的細節

Win + Shift + h (Mod4 + Shift + h)

增加一個 主視窗 (Increase number of master windows by 1)。

所謂 主視窗 ,依 Win + hWin + l 的測試,是指多個視窗排在螢幕上時,上方或左方的完整區塊,依視窗排列方式而異,而非指佔用較大面積的視窗。預設狀態下,只有一個主視窗,此時,按 Win + hWin + l 可以調整 主視窗非主視窗 的大小。

Win + Shift + l (Mod4 + Shift + l)

減少一個 主視窗 (Decrease number of master windows by 1)。

Win + Ctrl + h (Mod4 + Control + h)

增加 非主視窗 的 column 數 (Increase number of columns for non-master windows by 1)

Note: 何謂 column? 這依視窗排列方式不同而異。

Win + Ctrl + l (Mod4 + Control + l)

減少 非主視窗 的 column 數 (Decrease number of columns for non-master windows by 1)

Win + Ctrl + 空白鍵 (Mod4 + Ctrl + Space)

設定視窗為浮動狀態 (Set client floating)。

也就是與一般 Window Manager 相同的視窗顯示方式,而非 Tiling 的方式。