本文讲述我的 xmonad 桌面的配置,它使用 xmobar 显示各种状态,使用 taryer 来提供 systray。
xmonad 是一种平铺式窗口管理器,窗口之间不会遮挡,且自动调整大小以填充整个屏幕,这样就节省了使用鼠标调整各个窗口位置的时间,一切的操作都可以通过自定义的快捷键来完成。
xmonad 是由 Haskell 开发的,其配置文件也是使用 Haskell 来配置的,不过了解一些简单的语法之后,配置起来也是很方便的。当然默认的配置就已经非常好用了,我也只是在默认的配置上进行了一点小的修改而已。
下面是我的 xmonad 配置与默认配置之间的差异(只是为了表现差异,最后会有整个配置文件的下载):
以上修改的一些简单说明:
- 使用 gnome-terminal 作为我的终端
- 使用 Win 健作为 xmonad 的 Mod 健,默认为 Alt,但是会和 bash 的一些快捷键冲突
- 增加了两个快捷键 Win + Print 与 Win + Shift + Print 用来进行截图
- 加入 isFullscreen –> doFloat 以解决 flash 不能全屏的问题
- myLogHook = dynamicLog 可以让 xmobar 显示出当前的状态
- 在 myStartupHook 函数中加入我的启动项:
- fcitx 输入法
- 设置鼠标样式
- 使用 feh 设置桌面背景
- 启动 trayer 以显示 systary
- 最后,main 函数中使用 xmobar 函数启动 xmobar
下面是一些经常使用到的快捷键:
- Win + Shift + Enter: 启动 Terminal
- Win + P: 启动 dmenu,用于启动各种命令
- Win + 1 – 9: 在 1 – 9 虚拟桌面中进行切换
- Win + Shift + 1 – 9: 将当前的窗口移动到指定的虚拟桌面
- Win + Tab: 在同一虚拟桌面中的窗口之间切换
- Win + Shift + C: 杀死当前窗口
- Win + Q: 重启 xmonad,用于改为配置之后使其生效
下面是我的 xmobar 的配置,其配置文件为 .xmobarrc
其中有三点值得注意:
- position 指定了 xmobar 的位置:左上,长度 90%,而 trayer 的则为右上,长度 10%。刚好能够接上。
- 深圳天气的代码为 ZGSZ,其他地方的可以到这个页面进行查询。
- 需要有 StdinReader,否则在 xmonad 中的 dynamicLog 函数就不会起作用。
最后,提供这两个配置文件的下载:
xmonad.hs
.xmobarrc