以不到 2000 尺度行的代码写就的 dwm,是一个速度极快而功能壮大,且可高度定制的窗口治理器。
-- Adam Šamalík(作者)
若是你崇尚效率和极简主义,而且正在为你的 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 或者恰是你一向在寻找的。然则,它或者不适合初学者,你或者需要做很多其他设置才能按照你的喜欢进行设置。