試試動態窗口管理器 dwm 吧
如果你崇尚效率和極簡主義,並且正在為你的 Linux 桌面尋找新的窗口管理器,那麼你應該嘗試一下 動態窗口管理器 dwm。以不到 2000 標準行的代碼寫就的 dwm,是一個速度極快而功能強大,且可高度定製的窗口管理器。
你可以在平鋪、單片和浮動布局之間動態選擇,使用標籤將窗口組織到多個工作區,並使用鍵盤快捷鍵快速導航。本文將幫助你開始使用 dwm。
安裝
要在 Fedora 上安裝 dwm,運行:
$ sudo dnf install dwm dwm-user
dwm
包會安裝窗口管理器本身,dwm-user
包顯著簡化了配置,本文稍後將對此進行說明。
此外,為了能夠在需要時鎖定屏幕,我們還將安裝 slock
,這是一個簡單的 X 顯示鎖屏。
$ sudo dnf install slock
當然,你可以根據你的個人喜好使用其它的鎖屏。
快速入門
要啟動 dwm,在登錄屏選擇 「dwm-user」 選項。
登錄後,你將看到一個非常簡單的桌面。事實上,頂部唯一的一個面板列出了代表工作空間的 9 個標籤和一個代表窗戶布局的 []=
符號。
啟動應用
在查看布局之前,首先啟動一些應用程序,以便你可以隨時使用布局。可以通過按 Alt+p
並鍵入應用程序的名稱,然後回車來啟動應用程序。還有一個快捷鍵 Alt+Shift+Enter
用於打開終端。
現在有一些應用程序正在運行了,請查看布局。
布局
默認情況下有三種布局:平鋪布局,單片布局和浮動布局。
平鋪布局由條形圖上的 []=
表示,它將窗口組織為兩個主要區域:左側為主區域,右側為堆疊區。你可以按 Alt+t
激活平鋪布局。
平鋪布局背後的想法是,主窗口放在主區域中,同時仍然可以看到堆疊區中的其他窗口。你可以根據需要在它們之間快速切換。
要在兩個區域之間交換窗口,請將滑鼠懸停在堆疊區中的一個窗口上,然後按 Alt+Enter
將其與主區域中的窗口交換。
單片布局由頂部欄上的 [N]
表示,可以使你的主窗口佔據整個屏幕。你可以按 Alt+m
切換到它。
最後,浮動布局可讓你自由移動和調整窗口大小。它的快捷方式是 Alt+f
,頂欄上的符號是 ><>
。
工作區和標籤
每個窗口都分配了一個頂部欄中列出的標籤(1-9)。要查看特定標籤,請使用滑鼠單擊其編號或按 Alt+1..9
。你甚至可以使用滑鼠右鍵單擊其編號,一次查看多個標籤。
通過使用滑鼠突出顯示後,並按 Alt+Shift+1..9
,窗口可以在不同標籤之間移動。
配置
為了使 dwm 儘可能簡約,它不使用典型的配置文件。而是你需要修改代表配置的 C 語言頭文件,並重新編譯它。但是不要擔心,在 Fedora 中你只需要簡單地編輯主目錄中的一個文件,而其他一切都會在後台發生,這要歸功於 Fedora 的維護者提供的 dwm-user
包。
首先,你需要使用類似於以下的命令將文件複製到主目錄中:
$ mkdir ~/.dwm
$ cp /usr/src/dwm-VERSION-RELEASE/config.def.h ~/.dwm/config.h
你可以通過運行 man dwm-start
來獲取確切的路徑。
其次,只需編輯 ~/.dwm/config.h
文件。例如,讓我們配置一個新的快捷方式:通過按 Alt+Shift+L
來鎖定屏幕。
考慮到我們已經安裝了本文前面提到的 slock
包,我們需要在文件中添加以下兩行以使其工作:
在 /* commands */
注釋下,添加:
static const char *slockcmd[] = { "slock", NULL };
添加下列行到 static Key keys[]
中:
{ MODKEY|ShiftMask, XK_l, spawn, {.v = slockcmd } },
最終,它應該看起來如下:
...
/* commands */
static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL };
static const char *termcmd[] = { "st", NULL };
static const char *slockcmd[] = { "slock", NULL };
static Key keys[] = {
/* modifier key function argument */
{ MODKEY|ShiftMask, XK_l, spawn, {.v = slockcmd } },
{ MODKEY, XK_p, spawn, {.v = dmenucmd } },
{ MODKEY|ShiftMask, XK_Return, spawn, {.v = termcmd } },
...
保存文件。
最後,按 Alt+Shift+q
註銷,然後重新登錄。dwm-user
包提供的腳本將識別你已更改主目錄中的config.h
文件,並會在登錄時重新編譯 dwm。因為 dwm 非常小,它快到你甚至都不會注意到它重新編譯了。
你現在可以嘗試按 Alt+Shift+L
鎖定屏幕,然後輸入密碼並按回車鍵再次登錄。
總結
如果你崇尚極簡主義並想要一個非常快速而功能強大的窗口管理器,dwm 可能正是你一直在尋找的。但是,它可能不適合初學者,你可能需要做許多其他配置才能按照你的喜好進行配置。
要了解有關 dwm 的更多信息,請參閱該項目的主頁: https://dwm.suckless.org/。
via: https://fedoramagazine.org/lets-try-dwm-dynamic-window-manger/
作者:Adam Šamalík 選題:lujun9972 譯者:wxy 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive