git clone https://github.com/peoxin/dwm.git分别在dwm、dwm/slstatus和dwm/dmenu目录下,执行sudo make clean install。
安装其他所需工具。
将dwm/.dwm文件夹复制到~目录下。
如果使用显示管理器(如SDDM),在/usr/share/xsessions文件夹下,创建dwm.desktop文件,内容如下:
[Desktop Entry]
Type=Application
Name=dwm
Comment=Dynamic window manager
Exec=dwm
TryExec=dwm
如果不使用显示管理器,在/etc/X11/xinit/xinitrc或 ~/.xinitrc文件中,添加以下内容:
exec dwm可能需要对~/.dwm文件夹下的脚本,以及dwm、slstatus和dmenu的配置文件进行修改。
git clone https://git.suckless.org/dwm
cd dwm
sudo make clean installgit clone https://git.suckless.org/dmenu
cd dmenu
sudo make clean installgit clone https://git.suckless.org/slstatus
cd slstatus
sudo make clean installsudo pacman -S alacritty # 安装终端模拟器
sudo pacman -S wqy-microhei ttf-nerd-fonts-symbols # 安装字体
sudo pacman -S alsa-utils # 安装音量管理工具
sudo pacman -S feh # 安装壁纸工具
sudo pacman -S trayer # 安装系统托盘工具
sudo pacman -S picom # 安装picomdwm的配置文件:config.h
此处选择使用alacritty。如下更改:
static const char *termcmd[] = { "alacritty", NULL };如下更改:
static const char *fonts[] = {
"monospace:size=10",
"WenQuanYi Micro Hei:size=10:type=Regular:antialias=true:autohint=true",
"Symbols Nerd Font:pixelsize=14:type=2048-em:antialias=true:autohint=true"
};根据自己的喜好更改标签名:
static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
可以在Nerd Fonts中查找自己所要的符号,复制Icon并粘贴到对应位置。
slstatus的配置文件:config.h(注意不是dwm的配置文件)
根据注释配置即可。参考命令如下:
显示Linux内核版本:
uname -r | awk -F "-" '{print $1}'显示音量:
amixer get Master | awk -F "[][]" '/Left:/ {print $2}'
amixer get Capture | awk -F "[][]" '/Left:/ {print $2}'autostart自动运行脚本:~/.dwm/autostart.sh
添加:
xrandr --output <monitor> --mode <width>x<height>执行xrandr可以查看可选的显示器和分辨率。
HiDPI设置:在
~/.Xresources文件中,添加Xft.dpi: <dpi>,其中<dpi>建议选取96、144、192等值。参考HiDPI - ArchWiki。
添加:
feh --bg-scale <wallpaper-file>
# 随机选择壁纸 feh --bg-scale --randomize <wallpaper-folder>添加:
exec slstatus &根据习惯自行配置快捷键。
在.dwm文件夹下添加音量控制脚本,给予执行权限。
音量控制命令:
amixer set Master 100% # 设置音量
amixer set Master 5%-[5%+] # 相对设置音量
amixer set Master on/off/mute/unmute/toggle # 切换静音
# 除了Master,可能还需要设置PCM等设置音量控制快捷键:
static const char *voltogglecmd[] = { "/home/peoxin/.dwm/voltoggle.sh", NULL };
static const char *voldowncmd[] = { "/home/peoxin/.dwm/voldown.sh", NULL };
static const char *volupcmd[] = { "/home/peoxin/.dwm/volup.sh", NULL };
{ MODKEY, XK_F1, spawn, {.v = voltogglecmd } },
{ MODKEY, XK_F2, spawn, {.v = voldowncmd } },
{ MODKEY, XK_F3, spawn, {.v = volupcmd } },