窗口管理器 dwm 和 终端 st

suckless 官网
suckless 是一个开源社区. 其是一个极简主义的爱好者.

st

st 是 simple terminal.

dwm

dwm 是 dynamic window manager, 动态窗口管理器.

dwm 是 X 下的一个动态窗口管理器.

Xorg

ArchWiki
X.org 项目,其提供了 X 窗口系统的开源实现.

Xorg 简称 X, 几乎是 Linux 中图形用户程序的必备条件.

其潜在的继任者为 Wayland.

安装

用户通常选择安装窗口管理器或桌面环境以配合使用 X.

一般为:

1
pacman -S xorg xorg-server

驱动安装

查看显卡类型:

1
lspci |grep -e VGA -e 3D

有几个输出说明有几个显卡.

查看所有开源驱动:

1
pacman -Ss xf86-video

驱动

运行

Xorg 命令通常不直接运行,而是使用显示管理器或者 xinit 来启动 X server.

配置

Arch 提供了位于 /usr/share/X11/xorg.conf.d 的默认配置文件.

dwm

使用

打开终端

[Shift]+[Alt]+[Enter]

打开 dmenu

1
[Alt]+p

切换 master window 和 stack window

1
[Alt]+[Enter]

Moving Aroung

[Alt]+[j]
或者
[Alt]+[k]

将一个小窗口移动到其他 Tab 中

1
[Alt]+[Shift]+2

会把当前的这一个 window 移动到 tab 2 中。

进入其他的 Tab

1
[Alt]+[Tab number]

选择一个 window 作为 master

1
[Alt]+i

这里的 i 为 increase.

1
[Alt]+d

这里的 d 为 decrease.

关闭一个 window

1
[Alt]+[Shift]+c

退出 dwm

1
[Alt]+[Shift]+q

配置

几个补丁及其作用

alpha : 状态栏透明.

autostart : 自动启动脚本的功能

awesomebar : 状态栏显示名称

alpha : 状态栏透明.

autostart : 自动启动脚本的功能

awesomebar : 状态栏显示名称

fullscreen : 完全全屏

hide-and-restore : 隐藏一个窗口

hide_vacant_tags : 只显示是有窗口的 tags.

pertag : 每个窗口可以有不同的管理模式

viewontag : 在移动标签时用户也跟着移动.

rotatestack : 调整 stack

scratchpad : 打开一个小窗口

vanitygaps : 窗口之间的小空隙

.diff 文件就是告诉打补丁的工具需要在源代码上加上哪些行, 删除哪些行.

开机启动项

先打上 autostart 这个补丁, 然后查看 dwm.c 文件里面的 Autostart 这个函数, 它会帮我们启动一个脚本:

1
2
3
4
    void
runAutostart(void) {
system("cd ~/scripts; ./autostart.sh &");
}

system 这个命令是执行一个系统命令.

需要下载表情字体.

trayer 程序, 显示系统托盘.

1
$ yay -S trayer

在 dwm 下定义快捷键, 修改 config.h 文件中的 static Key keys[].

MODKEY 缺省状态是 [Alt] 键.

配置状态条

使用 xsetroot 命令.

在不登出和退出程序的情况下重启 dwm

添加:

1
2
3
4
5
6
while true; do
# Log stderror to a file
dwm 2> ~/.dwm.log
# No error logging
#dwm >/dev/null 2>&1
done

自定义快捷键

单个按键如 Fn 或多媒体键必须要用 16 进制数来表示, 可以用 xev 程序来获得, 或者查看 /usr/include/X11/XF86keysym.h 中的定义.

定义 keybindname 的内容:

1
static const char *<keybindname>[]   = { "<command>", "<flags>", "<arguments>", NULL };}

用 Mod+ 来执行命令:

1
{ MODKEY,            XK_<key>,      spawn,          {.v = <keybindname> } },

用 Mod+Shift+ 来执行命令:

1
{ MODKEY|ShiftMask,  XK_<key>,      spawn,          {.v = <keybindname> } },

用 Mod+Ctrl+ 来执行命令:

1
{ MODKEY|ControlMask,  XK_<key>,      spawn,          {.v = <keybindname> } },

grave 键就是 ~ 所处的位置.

改变间隙

gappov 这个是和左边的间隙.

gappoh 是和下面的间隙.


窗口管理器 dwm 和 终端 st
http://example.com/2022/09/03/窗口管理器-dwm-和-终端-st/
作者
Jie
发布于
2022年9月3日
许可协议