本着学习C的态度来了解dwm , 本身作为一个i3wm的追崇者 , 与dwm会擦出怎么样的火花呢?
下载安装dwmarchlinuxcn源配置编辑/etc/pacman.conf
文件,添加bfsu的archlinuxcn源
sudo vim /etc/pacman.conf---------------------------------------------[archlinuxcn]Server = https://mirrors.bfsu.edu.cn/archlinuxcn/$archsudo pacman -Sy archlinuxcn-keyring
安装dwm所需要的基本包sudo pacman -S xorg xorg-xinit feh pcmanfm compton xfce4-terminal
下载dwm可以建立单独的目录用于管理dwm相关的配置,也可以像我一样直接把相关的仓库放在家目录下
git clone https://git.suckless.org/dwmgit clone https://git.suckless.org/stgit clone https://git.suckless.org/dmenu
首次编译dwm并配置启动dwm分别进入到自己克隆的这三个仓库中执行:
sudo make clean install# 需要注意的是在这个仓库下操作需要使用sudo权限
配置xinit来启动dwm:
首先将xinit的配置文件拷贝一份到家目录下:
cp /etc/X11/xinit/xinitrc .xinitrc
然后编辑.xinitrc
文件:
删除掉最后五行,这五行我们不会用到 , 直接删除即可,然后在最后加上exec dwm
,上图:
文章插图
配置dwm快捷键更改【Archlinux + Dwm 配置流程】尤其对于i3wm的老用户来说,这个太必要了 。比如我更习惯用win+q去关闭窗口、习惯用alt+enter来打开终端等等,这些都是需要配置的 。
首先进入dwm仓库,编辑config.h文件:
cd dwmsudo vim config.h-------------------------------------------// 首先找到 key definitions ,我个人比较习惯设置两个mod键,// win键更趋向于一些窗口管理// alt键更趋向于一些动作/* key definitions */#define MODKEY1 Mod1Mask// alt键#define MODKEY Mod4Mask//win键#define TAGKEYS(KEY,TAG) \ { MODKEY,KEY,view,{.ui = 1 << TAG} }, \ { MODKEY|ControlMask,KEY,toggleview,{.ui = 1 << TAG} }, \ { MODKEY|ShiftMask,KEY,tag,{.ui = 1 << TAG} }, \ { MODKEY|ControlMask|ShiftMask, KEY,toggletag,{.ui = 1 << TAG} },
上图:文章插图
更改几个常用的快捷键,涉及关闭窗口、打开终端、退出dwm
static const Key keys[] = { /* modifierkeyfunctionargument *//* 打开dmenu win + p */ { MODKEY,XK_p,spawn,{.v = dmenucmd } },/* 打开终端 Alt + Enter */ { MODKEY1,XK_Return, spawn,{.v = termcmd } }, { MODKEY,XK_b,togglebar,{0} }, { MODKEY,XK_j,focusstack,{.i = +1 } }, { MODKEY,XK_k,focusstack,{.i = -1 } }, { MODKEY,XK_i,incnmaster,{.i = +1 } }, { MODKEY,XK_d,incnmaster,{.i = -1 } }, { MODKEY,XK_h,setmfact,{.f = -0.05} }, { MODKEY,XK_l,setmfact,{.f = +0.05} }, { MODKEY,XK_Return, zoom,{0} }, { MODKEY,XK_Tab,view,{0} },/* 关闭当前聚焦的窗口 win + p */ { MODKEY,XK_q,killclient,{0} }, { MODKEY,XK_t,setlayout,{.v = &layouts[0]} }, { MODKEY,XK_f,setlayout,{.v = &layouts[1]} }, { MODKEY,XK_m,setlayout,{.v = &layouts[2]} }, { MODKEY,XK_space,setlayout,{0} }, { MODKEY|ShiftMask,XK_space,togglefloating, {0} }, { MODKEY,XK_0,view,{.ui = ~0 } }, { MODKEY|ShiftMask,XK_0,tag,{.ui = ~0 } }, { MODKEY,XK_comma,focusmon,{.i = -1 } }, { MODKEY,XK_period, focusmon,{.i = +1 } }, { MODKEY|ShiftMask,XK_comma,tagmon,{.i = -1 } }, { MODKEY|ShiftMask,XK_period, tagmon,{.i = +1 } }, TAGKEYS(XK_1,0) TAGKEYS(XK_2,1) TAGKEYS(XK_3,2) TAGKEYS(XK_4,3) TAGKEYS(XK_5,4) TAGKEYS(XK_6,5) TAGKEYS(XK_7,6) TAGKEYS(XK_8,7) TAGKEYS(XK_9,8)/* 退出dwm win + shfit + c */ { MODKEY|ShiftMask,XK_c,quit,{0} }, /* klelee's volume config */ { MODKEY,XK_F1,spawn, SHCMD("amixer sset Master toggle") }, { MODKEY,XK_F2,spawn, SHCMD("amixer sset Master 5%- ") }, { MODKEY,XK_F3,spawn, SHCMD("amixer sset Master 5%+ ") },/* 截屏需要安装flameshot */ { MODKEY1,XK_p,spawn, SHCMD("flameshot gui") }, { MODKEY,XK_minus,setgaps,{.i = -1 } }, { MODKEY,XK_equal,setgaps,{.i = +1 } }, { MODKEY|ShiftMask,XK_equal,setgaps,{.i = 0} },};
上图:可能还有一些配置项下面图片没有highlight,但是后面会说到文章插图
设置默认终端为xfce4-terminal,这玩意儿是真的好用呀?。。?
同样是编辑config.h,找到commands模块,修改termcmd的值为xfce4-terminal即可:
/* commands */static const char *dmenucmd[] = { "dmenu_run", "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };static const char *termcmd[]= { "xfce4-terminal", NULL };
上图:文章插图
设置壁纸和透明度可乐有一个background的仓库,直接克隆使用,可乐yyds
推荐阅读
- Archlinux配置fcitx5
- 2022-10-01 ArchLinux安装手册
- Archlinux安装Picgo配置Typora
- oppofindx3pro和vivox60pro+对比_参数配置对比
- oppoa93手机参数_oppoa93参数配置详情
- vivoy31s手机参数_vivoy31s手机参数配置
- docker常用配置以及命令
- 系统整理K8S的配置管理实战-建议收藏系列
- 联想拯救者R7000 2021款官方配置_联想拯救者R7000 2021款升级情况
- 华为matex2参数_华为matex2参数配置详情