内容简介:我已经用XMonad作为窗口管理器好几年了,XMonad非常稳定,但是中文里一直都没有一篇 比较好懂的XMonad配置教程,我想可能的原因是XMonad的门槛比较高---配置需要懂一点 Haskell。如果你还没有听过Haskell,我想需要先了解一下Haskell:最开始玩的时候,我是傻傻分不清这两个东西。竟然还有窗口管理器这个东西? 桌面环境是指一些集成了很多工具的集合,例如
我已经用XMonad作为窗口管理器好几年了,XMonad非常稳定,但是中文里一直都没有一篇 比较好懂的XMonad配置教程,我想可能的原因是XMonad的门槛比较高---配置需要懂一点 Haskell。
如果你还没有听过Haskell,我想需要先了解一下Haskell:
窗口管理器和桌面环境
最开始玩的时候,我是傻傻分不清这两个东西。竟然还有窗口管理器这个东西? 桌面环境是指一些集成了很多 工具 的集合,例如 Gnome
,例如 KDE
,例如Windows桌面。 而窗口管理器则是其中一个单独的部分,专门用来管理窗口(window)该要怎么摆放。
绝大部分桌面提供的窗口管理器都是手动档,即需要用户手动去把窗口移到不同的地方,调整 成不同的大小。如图:
而XMonad则是自动档,它会自动帮你调整窗口的大小。再加上XMonad的另一个特性:平铺。 窗口管理器一般分为两种,平铺式和遮盖式。遮盖式即像Windows7那样,一个窗口遮挡住 另外一个窗口,而XMonad则与之相反,是平铺式,即窗口和窗口之间互不遮挡,例如这样:
安装XMonad
XMonad现在最新的版本是 0.13
。一般会分成两个包: xmonad
和 xmonad-contrib
。前者 是XMonad的核心,而后者则是一些用户贡献的插件。
$ sudo pacman -S xmonad xmonad-contrib $ sudo apt-get install xmonad xmonad-contrib
此时执行一下 ls /usr/share/xsessions/
会发现多了一个 xmonad.desktop
,但是 先不要着急退出当前窗口管理器或者桌面环境,先安装一下 dmenu
。
$ sudo pacman -S dmenu $ sudo apt-get install dmenu
此外还需要保证自己安装了最少一个终端程序,例如 gnome-terminal
或者 xterm
。
然后退出当前桌面环境或者窗口管理器,选择xmonad,然后输入用户名密码,登录之后就会 发现空空的啥也没有了。不要担心,这样才是正常的:
开始配置
我们首先当然是一通乱按,发现什么也没有。
然后我们按下 alt
和 p
,这时候看最上面,是不是出现了一个可以输入字符的地方? 那就是dmenu。假设我们安装的终端模拟器是 gnome-terminal
,那么我们输入 gnome-terminal
然后回车, gnome-terminal
就会显现在我们眼前了。之后我们输入一个简单的配置文件。
$ cat ~/.xmonad/xmonad.hs import XMonad import XMonad.Config.Desktop import XMonad.Hooks.EwmhDesktops main = do xmonad $ ewmh $ desktopConfig { terminal = "gnome-terminal" }
然后我们按下 alt
和 q
,稍等一下,duang,是不是立马就变了样呢?此时我们多次 按下 shift
, alt
和 enter
,会发现多个终端自动被排列好, shift
, alt
, c
则关闭 了当前聚焦的窗口。
常用快捷键
那当然是要看 man page
啦。打开终端模拟器,输入 man xmonad
。此处需要提醒的是 mod
和 modMask
默认情况下指的都是 alt
键。
其他软件
学完了XMonad的常用快捷键,接下来我们看看一些常用的软件:
nm-applet
如何配置
本来最开始我想讲一讲怎么配置的,后来我想了一下,XMonad门槛高就高在,其配置文件是Haksell写的, 而Haskell一时半会儿讲不完,所以我只能说,我学习配置XMonad的过程,主要是:
- 看 官方教程
- 看别人的配置: 别人的 , 我的
- Google搜索问题如何解决
- 看官方文档: http://hackage.haskell.org/package/xmonad
Haskell的好处就在于,你知道 main函数里 xmonad需要接什么参数,然后按照类型提示 把参数塞进去就可以。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Webpack DLL 配置教程
- [ webpack4 ] 配置属于自己的打包系统教程(一)—— 基础配置篇
- Spring Boot 2.0 配置图文教程
- Nginx上配置HTTP/2简明教程
- mysql5.7.21安装配置教程
- intellij IDEA配置springboot的图文教程
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。