Awesome Window Manager 的目標,是做個可擴充、可高度自訂的視窗管理員。
為了達到這個目的,awesome 是設計成一個 framework window manager,極為快速、小巧、動態、且可用 Lua programming language 來擴充。
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,是因為這些視窗管理都可以透過簡單的鍵盤、滑鼠來即時操作!
平鋪 (Tiled) | 使用這種版面配置時,awesome 會把視窗分成主視窗區 (master area) 與堆疊區 (stacking area),主視窗區放置我們目前比較關注的視窗,其他視窗放在堆疊區。主視窗區可切割成好幾列 (row) 與好幾欄 (column),隨你高興。 |
最大視野 (Max) | 每個視窗都調整到全螢幕。 |
放大 (Magnifier) | 焦點所在的視窗維持在畫面中央並佔用最大的空間,其餘視窗都堆疊到這個視窗後。 |
浮動 (Floating) | 可自由改變每個視窗的大小,就像一般的視窗管理員一樣。 |
不管使用那一種版面配置模式,對話方塊視窗總是以 floating 來處理。
狀態列 (Statusbar) | 可放在螢幕的上下左右邊緣,包含一或多個 widgets。 |
標題列 (Titlebar) | 類似狀態列,但是是在視窗的邊緣。 |
小工具 (Widget) | 在狀態列或標題列中的東西,可以文字、圖形、進度列、圖表等各種小東西顯示各種資訊。 |
在桌面按滑鼠右鍵,或者 Win + Enter ,可叫出 x-terminal-emulator
man awesome
man awesomerc
Win + 數字 可在不同標籤間切換。
Win + j 或 Win + k 可在視窗間切換。
Win + Shift + c 可關閉目前視窗。
Win + Shift + r 可重新啟動 awesome。
用 awesome -k 來檢查設定檔的語法。
在標籤上按 滑鼠左鍵 (Button1 on tag name)
顯示標有此 tag 的視窗 (View tag)。
也可想成是 - 切換到那個 tag 所代表的 workspace。
相當於快捷鍵 Win + 標籤數字 。
在某個標籤上按 Win + 滑鼠左鍵 (Mod4 + Button1 on tag name)
替目前焦點所在的視窗加上某個標籤 (Tag current client with this tag)。
舉例來說,假設原本目前視窗有 three 這個標籤,在 five 上按 Win + 滑鼠左鍵 後,會替視窗貼上 five 這個標籤,此時原本的標籤 three 會不見,又因目前顯示的的 tag 還是 three,所以原本視窗會不見,如要顯示原來的視窗,要改顯示 five 這個標籤。
所以,在某個標籤上按 Win + 滑鼠左鍵 ,等於是 - 把不想看的視窗,放到其他 tag 所代表的 workspace 去的意思。
如果完全用鍵盤快捷鍵,可用 Win + Shift + 標籤數字 。
在某個標籤上 滑鼠右鍵 (Button3 on tag name)
在目前的螢幕顯示/隱藏具有某個標籤的視窗 (Add this tag to current view)
假如現在是在 tag three,你在 tag five 上按滑鼠右鍵,會在目前螢幕上顯示被加上 three 或 five 這兩個標籤的所有視窗。在 five 標籤上再按一次滑鼠右鍵,就會把標籤的選取狀態取消,也就是 tag five 代表的視窗又不顯示在目前螢幕上了。
這相當於按快捷鍵 Win + Ctrl + 標籤數字 。
在某個標籤上按 Win + 滑鼠右鍵 (Mod4 + Button3 on tag name)
為焦點所在視窗加入/去除某個標籤 (Toggle this tag for client)
這與 Win + 滑鼠左鍵 的差別在於,在某個標籤上按 Win + 滑鼠右鍵 來替焦點所在視窗加入新標籤時,仍保有原來的標籤,所以焦點所在視窗不會因為加入新標籤而消失在目前的螢幕上。
所以 Win + 滑鼠右鍵 的使用時機,可看成是 - 想讓目前焦點所在視窗出現在其他 tag 代表的 workspaces,且還要讓這個視窗繼續出現在目前螢幕上。
這相當於按快捷鍵 Win + Ctrl + Shift + 標籤數字 。
Button4, Button5 on tag name
切換到前一個/下一個 tag。
在 (layout symbol) 上按 Button1, Button3, Button4, Button5
切換到前一個/下一個 layout。
在 root window 上按 Button4, Button5
切換到前一個/下一個 tag。
在 client window 上按 Win + 滑鼠左鍵 (Mod4 + Button1)
移動視窗。
在 client window 上按 Win + 滑鼠?鍵 (Mod4 + Button2)
Zoom 視窗。(我試不出這個功能)
在 client window 上按 Win + 滑鼠右鍵 (Mod4 + Button3)
改變視窗大小。
實際使用時,如果視窗的管理是在 平鋪 (tiling) 的狀態,只能改變視窗的寬度。如果是在 浮動 (floating) 的狀態,就可以改變視窗的寬、高。
awesome 提供了極豐富的快捷鍵。
用 awesome-menu 來讀 manual pages。
用 awesome-menu 來執行程式。
用 awesome-menu 來 ssh 到一台主機去。
開啟/關閉狀態列 (Toggle statusbar)
所謂的狀態列,就是指螢幕上方的標籤以及顯示目前開啟的視窗的地方。
開啟 X terminal emulator。
離開 awesome (Quit awesome)。
重新啟動 awesome (Restart awesome)。
將焦點切換到下一個視窗 (Focus next client)。
將焦點切換到前一個視窗 (Focus previous client)。
看上一個標籤 (View previous tag)。
看下一個標籤 (View next tag)。
切換到 tag 0-9 (Switch to tag 1-9, 0 for all)。0 代表顯示所有的視窗。
看先前選取的標籤 (View previously selected tag)。可在之前/目前所在的標籤之間切換。
將焦點切換到下一個螢幕 (Focus next screen)。
將焦點切換到上一個螢幕 (Focus previous screen)。
將目前視窗與下一個視窗交換位置 (Switch client with next client)。
將目前視窗與前一個視窗交換位置 (Switch client with previous client)。
關掉視窗 (Kill client)。
將標籤為 [0-9] 的視窗顯示在螢幕上 (Toggle tag view)。
可想成,要控制 (Control) 標籤為 [0-9] 的視窗 (Win)。
給某個視窗加上標籤 (Tag client with tag)。
按下去後,視窗會消失在目前螢幕上,跑到新的標籤去,其實也就是把焦點所在的視窗搬到指定的標籤去。相當於在標籤上按 Win + 滑鼠左鍵 。
為焦點所在視窗 加上/去掉 標籤 (Toggle tag on client)。
按下去後,視窗仍在目前螢幕上,不會消失,相當於在某個標籤上按 Win + 滑鼠右鍵 。
切換到下一個 layout。
切換到前一個 layout。
減少 主視窗區 5% 的高/寬度 (Decrease master width factor by 5%)。
增加 主視窗區 5% 的高/寬度 (Increase master width factor by 5%)。
將 client 設定成最大化 (Set client maximized)。
再按一次會回復原來大小。
Zoom client. (我試不出這個功能)
增加一個 主視窗 (Increase number of master windows by 1)。
所謂 主視窗 ,依 Win + h 與 Win + l 的測試,是指多個視窗排在螢幕上時,上方或左方的完整區塊,依視窗排列方式而異,而非指佔用較大面積的視窗。預設狀態下,只有一個主視窗,此時,按 Win + h 或 Win + l 可以調整 主視窗 與 非主視窗 的大小。
減少一個 主視窗 (Decrease number of master windows by 1)。
增加 非主視窗 的 column 數 (Increase number of columns for non-master windows by 1)
Note: 何謂 column? 這依視窗排列方式不同而異。
減少 非主視窗 的 column 數 (Decrease number of columns for non-master windows by 1)
設定視窗為浮動狀態 (Set client floating)。
也就是與一般 Window Manager 相同的視窗顯示方式,而非 Tiling 的方式。