dwm是X下的一个动态窗口管理器。它用平铺的、栈式的和全屏的布局方式,借助一些可选的补丁还可以实现其他的布局。布局可以动态得改变,为程序提供最优的环境和性能。dwm特别轻量快速,用C语言编写,被设计的目标是控制在2000行以下的代码。在xrandr和Xinerama支持下可实现multi-head。
安装
这里建议用makepkg从ABS安装。这样你可以在稍后的时间简单地重新配置。如果你只是想安装试用一下的话,简单地安装:
# pacman -S dwm
注意这样是不灵活的,因为dwm的配置要通过修改它的源码来实现。所以接下来的文章假定你从源码编译dwm。
你可能很想同时安装dmenu,一个X下轻量级的动态菜单:
# pacman -S dmenu
需求
你需要用
# pacman -S base-devel asp
下载 PKGBUILD
如果需要的包都准备好了,可以用 asp 从仓库里获得最新的 PKGBUILD 了:
$ asp export community/dwm
编译和安装
用 cd 进入到 asp 导出的目录,然后运行:
$ makepkg -i
这会编译并安装dwm,如果有问题请仔细输出信息。
Tip: 如果你以后不更改这个目录, 你可以在以后的时间继续用它来对配置文件做进一步的修改。
配置
就像上边提到的那样,dwm是在编译时配置的,确切地说就是修改config.h和config.mk。然而它提供了一个很好的初始配置,对一些有经验的用户,它是很好调整的。
方法一:使用 ABS(推荐)
在这里修改dwm是非常简单的。
自定义config.h
进入安装过程中的dwm的源码目录;也就是上边的~/dwm。里边的config.h 存放着通常的配置信息。这个文件里的大多数配置都很好理解,但其他的可能比较有个性。关于这些配置的详细信息可以查阅dwm website。
Note: 要确保修改之前保存一份config.h的备份,以防修改中发生错误。
一旦修改完成了,更新PKGBUILD里的md5sums:
$ makepkg -g >> PKGBUILD
这样会避免因为和官方的config.h文件不一样导致校验值错误。
现在,编译并重新安装:
$ makepkg -efi
假定配置是有效的,这条命令会编译和重新安装dwm,如果出问题了,请仔细查看输入内容获得详细信息。
最后,重启dwm来使用新的配置。
注意
从现在开始,我们不必每次都更新config.h的md5sums了,因为会很频繁,我们只需要用--skipinteg选项来跳过校验。
$ makepkg -efi --skipinteg
在往dwm的启动脚本里添加几行后,我们可以在不登出和退出程序程序的情况下重启dwm。
方法二:使用Mercurial(高级)
上游的dwm是用git版本控制系统来维护的,在suckless.org。熟悉Mercurial的人会发现用它来维护配置和补丁会更方便。
启动dwm