2011年1月12日星期三

平铺式窗口管理器——Awesome

首先科普一下 Tiling window manager,直译就是“瓦片式窗口管理器”;意译为“平铺式窗口管理器”。


假设你需要同时监视多个程序的状态并进行操作(这种情况非常之普遍),你就需要不停的按Alt+Tab切换,但是这会加速Alt尤其是Tab的磨损(手的磨损忽略了,因为它是可再生的)。

聪明的人就会想出这一招,见图1:


但是要先调整窗口布局,而且总是不太合适,有点缝隙啥的,分散注意力。

而在Tiling window manager 中,无论有多少个窗口,都会把屏幕占满,见图2:

它的窗口没有标题栏(标题在状态栏上),边框尽可能的窄(可再设置为0),以最大程度的节约桌面空间。

awesome还有超低的资源占用率。

完全的键盘控制(在普通的窗口管理器中,完全键盘控制是不现实的,因为调整窗口位置无论如何要用鼠标。而Tiling WM中则不需要调整窗口位置)

首先把修饰键设置为WIN键,这样不会和其它的快捷键冲突。附件里有配置文件,可以直接使用。

  • WIN+数字键 切换工作区
  • WIN+Space 切换窗口布局比如水平布局下,新开窗口与原窗口水平分割桌面。

    布局有下面几种:

    • 水平布局与垂直布局各两种,区别在于新开窗口的位置。它们是最常用的布局
    • 全屏布局。这个不实用,可以用WIN+m最大化/还原当前窗口
    • 螺旋布局。似乎也不太实用,反正我很少用
    • 逐渐减小布局。和上面的那个差不多
    • 浮动布局。类似传统窗口管理器的布局
    对于不规则的窗口,像Gimp、mplayer等,无论在任何布局下窗口都是浮动的。可以在配置文件里设定哪些程序使用浮动窗口。调整浮动窗口的位置时,按下WIN键,用鼠标拖动就可以了。
  • WIN+ENTER 开启预设的终端
  • WIN+SHIFT+C 关闭当前窗口
  • WIN+SHIFT+数字键 把当前窗口发送到其它工作区
  • WIN+j WIN+k 切换到其它窗口
  • WIN+h WIN+l 调整当前窗口大小这一组快捷键是VI风格的。
  • WIN+F2 运行程序
默认的不好用,我安装了一个dmenu。这东东真不赖。

看图 4 顶部的状态栏就是dmenu的菜单 根据你的输入动态的显示匹配选项 用方向键进行选项


对于窗口管理器的选择,我们需要考虑的无非以下几点:

  • 配置 简单OR复杂
  • 功能 强大OR实用
  • 视觉 华丽OR朴素
下面我们以辩证唯物马克思列宁毛爷爷主义的思想来分析一下:
  • 配置除了FVWM这种矫揉造作的WM,配置起来严重麻烦;其它WM的配置方式虽然不同,但是配置的难度基本在同一量级。
  • 功能这一方面,我想大多数人被忽悠了。别家有的功能,咱一定要有;别家没有的功能……那就是卖点。这种无序竞争导致了WM中的大部分功能用户根本用不到,却占用了很多的系统资源。所以FVWM的卖点就来了——自由配置,想要什么功能自己加,用不着的功能嘛……除非有病,不然谁费老鼻子的力气配置自己根本不需要的功能。
  • 华丽的视觉效果养眼,不过效果不好。我用过一段时间的compiz,视力并没有好转。向别人炫耀,尤其是对华丽敏感的别人,比如说MM。占用更多的系统资源。
——下面是我的结论,虽然看起来和上面的论述没什么逻辑关系——

在长期使用的情况下,配置和视觉效果是可以忽略的,而最重要的是功能。那我们需要什么样的功能呢?大家应该注意到了:

  • 重量级窗口管理器,如metacity(GNOME)、Kwin(KDE)等,它们的功能五花八门,差别也很大
  • 而羽量级窗口管理,如Fluxbox、IceWM等等等等,它们的功能都差不多
为什么会这样?

上面说了,以功能强大为卖点的WM,它们之间比拼的是功能多少,所以功能多多益善。而以短小精悍为卖点的WM,则是越苗条越好,这是一种寻底竞争,最终结果就是保留最少的有用功能。而真正有用的功能,也就那么几个,没啥不一样的。

羽量级窗口管理都有什么功能呢?

  • 调整窗口位置,层次…… Tiling WM中的方式更有效率
  • 桌面背景 Tiling WM中不需要
  • 开始菜单、右键菜单 Tiling WM中不需要
  • 键盘控制 Tiling WM中被强化
  • 工作区
  • 状态栏
  • 运行对话框 Tiling WM中被强化
  • 启动终端快捷键
所以,最终的结论就是,Tiling WM是高手、准高手、半高手、伪高手的最佳选择。

另:我花了很长时间,差不多把能找到的Tiling WM试遍了。把它们的特点/缺点汇报一下:

  • DWM 窗口布局较少,标题栏中文乱码(不过有中文补丁可以解决这个问题),使用鼠标操作窗口极易造成混乱
  • WMII 调整窗口大小要用鼠标,每个窗口顶部有微型标题栏,标题栏乱码
上面两个WM和dmenu配合最完美。

以下是第一时间删除的,还有一些记不起名字了:

  • xmonad 要安装体积超大的Haskell
  • ION3 标题栏中文,风格不喜欢,窗口间有缝
  • larswm 同上

没有评论:

发表评论