Linux中國

試試動態窗口管理器 dwm 吧

如果你崇尚效率和極簡主義,並且正在為你的 Linux 桌面尋找新的窗口管理器,那麼你應該嘗試一下 動態窗口管理器 dynamic window manager 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

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國