前言
dwm(Dynamic Window Manager)由suckless.org开源社区主导,是一款可以在linux上运行的动态窗口管理器(wm)。其他知名的如i3wm,awesome均是基于dwm改编。
安装dwm
安装dwm有多种方式,如果您只是想短暂的体验一下,那么使用yay命令快捷安装无疑是最为简单和快捷的方式了,因为只需要yay -S dwm
一条简单的命令即可使用。
注意这样是不灵活的,因为dwm的配置要通过修改它的源码来实现。所以接下来的文章我们需要使用源码安装;
第一步,下载源码
wget https://dl.suckless.org/dwm/dwm-6.2.tar.gz
第二步,解压源码
tar xpvf dwm-6.2.tar.gz
第三步,移动目录作为家目录的隐藏目录(不这么做也是可以的,但建议这么做)
mv dwm-6.2 .dwm
cd .dwm
进入dwm文件后,文件结构如下:
ls
config.def.h config.h config.mk drw.c drw.h drw.o dwm dwm.1 dwm.c dwm.o dwm.png LICENSE Makefile README transient.c util.c util.h util.o
第四步,编译、安装
➜ .dwm sudo make clean install
rm -f dwm drw.o dwm.o util.o dwm-6.2.tar.gz
dwm build options:
CFLAGS = -std=c99 -pedantic -Wall -Wno-deprecated-declarations -Os -I/usr/X11R6/include -I/usr/include/freetype2 -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=2 -DVERSION="6.2" -DXINERAMA
LDFLAGS = -L/usr/X11R6/lib -lX11 -lXinerama -lfontconfig -lXft
CC = cc
cc -c -std=c99 -pedantic -Wall -Wno-deprecated-declarations -Os -I/usr/X11R6/include -I/usr/include/freetype2 -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=2 -DVERSION=\"6.2\" -DXINERAMA drw.c
cc -c -std=c99 -pedantic -Wall -Wno-deprecated-declarations -Os -I/usr/X11R6/include -I/usr/include/freetype2 -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=2 -DVERSION=\"6.2\" -DXINERAMA dwm.c
cc -c -std=c99 -pedantic -Wall -Wno-deprecated-declarations -Os -I/usr/X11R6/include -I/usr/include/freetype2 -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_POSIX_C_SOURCE=2 -DVERSION=\"6.2\" -DXINERAMA util.c
cc -o dwm drw.o dwm.o util.o -L/usr/X11R6/lib -lX11 -lXinerama -lfontconfig -lXft
12mkdir -p /usr/local/bin
cp -f dwm /usr/local/bin
chmod 755 /usr/local/bin/dwm
mkdir -p /usr/local/share/man/man1
sed "s/VERSION/6.2/g" < dwm.1 > /usr/local/share/man/man1/dwm.1
chmod 644 /usr/local/share/man/man1/dwm.1
第五步,配置startx,让X窗口服务启动时自动运行dwm窗口管理器:
echo exec dwm >> ~/.xinitrc
第六步,添加desktop文件(一定要)
sudo vim /usr/share/xsessions/dwm.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Dwm
Comment=Dynamic window manager
Exec=dwm
Icon=dwm
Type=XSession
dwm的配置
配置dwm主要需要修改的文件是config.def.h,主要的配置方式是使用被人写好的patch加必要时候的手动修改。dwm的patch都在其官方网站
具体过程是这样的:
找到你需要的patch并下载
将其移动到~/.dwm目录下
patch < dwm*.diff
之后会输出这个patch过程的详细情况,一般情况不会出现问题
需要注意的是要一个一个来
出现问题之后需要对照如:config.def.h.rej, dwm.c.rej等后缀为rej的文件来手动修改对应的没有rej后缀的源文件
打开之后rej文件中行首标有+的行是需要添加的行,标有-的行是需要删除的行
所有更改都修改完毕之后重新编译安装,执行:
rm -f ./config.h && sudo make clean install