我的电脑桌面之旅 - 去繁就简,定制自己的窗口管理器(wm)

我也曾用过很多的桌面环境,从windows95的桌面 到win98 到史上最坑的win2000 再到winxp 、vista ,之后就开始了选择,也从windows平台切换到了linux平台,(虽然偶尔也用用win7、win10 但也就只限于用用网上银行了,对银行的不求上进还是感觉到很沮丧的。不过值得一提的是建设银行现在已经超出其它的银行支持linux用户了,这让我们这些linux用户不用再受银行之苦了) 在linux下桌面系统就多种多样了,不喜欢了就可以换一套,哈哈哈,再也不用忍了。
但是使用下来就发现一个问题,linux下的“桌面环境”也有着与windows的桌面环境一样的问题,功能多而杂,很多功能是一年都不会用到的(夸张点的话,甚到是几年都不会想到的功能它里面都有~~)。
后来我就想着我根本用不到那些功能啊,何必要安装它们啊?于是我开始放弃那些“一整套”的“桌面环境”,开始只使用窗口管理器。
开始的时候我用的是 fvwm 后来有一次更新时 fvwm 出现了故障,就换到了 awesomewm ,就一用就是几年。
直到前几天,我翻看了一下我的 awesomewm 配置文件,发现里面的很多功能依然是我几年都不会考虑的情况,于是我又开始了拆腾。
我目前对桌面的需求:
多窗口同时运行,但某一特定时刻只会利用到其中一个窗口。
会用到最大化和还原
会用鼠标移动窗口的位置
会用鼠标调整窗口的大小
会切换到不同的已找开窗口
会用到多个桌面 一个桌面放编辑器 另外一个放浏览器查资料 ...
多个桌面之间切换要方便 对于我来说用快捷键是好的,而用鼠标就是很麻烦的选项
不喜欢平铺式桌面那种自作聪明的调整窗口大小和位置的作法,窗口出现在左上角或者上次出现的位置才是我想要的,它们放在哪儿由我定才是我的桌面
所以我找来了 dwm 加以修改,改成了我用的版本,完全采用C语言写成,用cc编译器编成,编译完只有64KiB的大小。
使用方法:
例如将文件放在了 /mnt/ 下 改名为 mywm
确保具有可执行权限。
然后在 ~/.xinitrc 里加入
exec /mnt/mywm
然后 执行 startx 就能进入定制的wm了
快捷键设置
win键+enter 打开一个 xterm 窗口
win键+p 打开顶部的 dmenu 启动器
win键+1 切换到第一个桌面 依次类推 从第一到第九个桌面 都可以用 win+数字序号 快速切换
win键+0 显示所有的桌面上的程序
win键+tab 切换上次使用的桌面和现在的桌面
win键+shift+c 关闭现在的窗口
win键+shift+q 退出wm,回到命令行界面 可以再次用 startx 进入 wm
win键+j 切换到本桌面中的上一个程序,循环显示
win键+k 切换到本桌面中的下一个程序,循环显示
win键+鼠标左键按住+拖动 移动窗口位置
win键+鼠标右键按住+拖动 调整窗口大小
f11键 按一下全屏 再按一下恢复 (这不是wm的功能是x定义的)

下载地址:
https://gitlab.com/timeline.menu/wm/-/tree/v_0.1