安装
git clone https://git.suckless.org/dwm
cd dwm
sudo make clean install
启动
如果已经有了 sddm,可以使用sudo systemctl disable sddm.service
来进行关闭,如果到时候不想用了可以用sudo systemctl enable sddm.service
来开启 sddm.
# 准备配置文件
cp /etc/X11/xinit/xinitrc ~/.xinitrc
vim ~/.xinitrc
# 添加
exec dwm
# 注释
#twm &
#xclock -geometry 50x50-1+1 &
#xterm -geometry 80x50+494+51 &
#xterm -geometry 80x20+494-0 &
#exec xterm -geometry 80x66+0+0 -name login
然后重启并调用startx
即可.
遇到的问题
直接断网
使用 NetworkManager 进行连接,可能要用到dhcpcd
.
nmcli device wifi list
nmcli device wifi connect ${wifi name} password ${pwd}
可能会连接失败,你可以试试nmcli connection show
来查看是否存在以前的连接信息,可以用nmcli connection delete ${wifi name}
来删除对应的信息
输入法失效
添加配置文件
vim ~/.pam_environment
INPUT_METHOD DEFAULT=fcitx5
GTK_IM_MODULE DEFAULT=fcitx5
QT_IM_MODULE DEFAULT=fcitx5
XMODIFIERS DEFAULT=@im=fcitx5
添加启动命令
vim ~/.xinitrc1
# 在exec dwm之前添加
exec fcitx5 &
扩展屏幕无效
# 可以先查看有哪些屏幕
xrandr
#
# 将下面的命令加入 ~/.xinitrc1 中,在exec dwm之前添加
# 我有两个,是上下关系,所以用below 其他有 left 以及 right
xrandr --output eDP-1-1 --auto --below HDMI-0
常用快捷键
可以参考我配置: https://github.com/fzdwx/dwm
MOD
-> WIN
快捷键 | desc |
---|---|
MOD+SHIFT+ENTER | 新开终端 |
在本 tag 内切换聚焦窗口
快捷键 | desc |
---|---|
ALT + tab | 切换聚焦窗口 |
MOD + up | 切换聚焦窗口 |
MOD + down | 切换聚焦窗口 |
跨 tag 操作
快捷键 | desc |
---|---|
MOD + left / right | 切换 tag |
MOD + SHIGT + left / tight | 将当前窗口移动到其他 tag |
MOD + a | 第一次是显示所有 tag,第二次是跳转到聚焦的窗口所在的窗口 |
窗口操作
快捷键 | desc |
---|---|
MOD + q | 退出窗口 |
MOD + h | 隐藏窗口 |
MOD + SHIFT + h | 显示窗口(像一个栈一样.) |
MOD + ENTER | 将当前窗口设置为主窗口 |
MOD + f | 将当前窗口全屏 |
MOD + CTRL + 方向键 | 移动窗口 |
MOD + ALT + 方向键 | 调整窗口大小 |
MOD + o | 只显示当前窗口/显示所有窗口 |
MOD + t | 开启/关闭 聚焦目标的浮动模式 |
MOD + SHIFT + t | 开启/关闭 全部目标的浮动模式 |
| MOD + SHIFT + f
| 开启/关闭 状态栏 |
切换屏幕
快捷键 | desc |
---|---|
MOD + x | 将鼠标移动到其他屏幕 |
MOD + SHIFT + X | 将当前窗口移动到其他屏幕 |
更新
click status bar
最近跟进了大佬的配置yaocccc, 可点击的 status bar.
主要原理就是根据预定义的格式解析出signal
,然后调用预定义的脚本文件(commit)
也很容易扩展,可以参考我的fm, update
是构造要返回的内容,
click
就是点击时调用的方法,wezterm start --class float ranger
我这一段就是启动 wezterm 并调用 ranger.