## 第 38 章 awesome
**目录**
[](ch38.html#id3159187)
[Tiling window manager](ch38s02.html)
[优点](ch38s03.html)
[操作](ch38s04.html)
[配置](ch38s05.html)
## Tiling window manager
`Tiling window manager`,直译为“瓦片窗口管理器”[[84](ch38s02.html#ftn.id3158868)],意译为“平铺式窗口管理器”。
假设你需要同时监视多个程序的状态并进行操作,你就需要不停的按Alt+Tab切换,但是这会加速 Alt 尤其是 Tab 的磨损[[85](ch38s02.html#ftn.id3158880)]。
无奈之下,你可能会这样作:
![](https://box.kancloud.cn/2016-08-07_57a6a9741e64a.jpg)
用鼠标拖放成这样,绝对不是一件愉快的事,而且各个窗口的大小可能不太合适,窗口之间可能会有点缝隙,虽然不漏风,但是也影响注意力……
而在平铺式窗口管理器中,无论打开多少个窗口,都会把整个屏幕占满,不留一点儿缝隙(如果只有一个窗口,直接全屏)
![](https://box.kancloud.cn/2016-08-07_57a6a97437ce8.jpg)
窗口没有标题栏(标题在状态栏上),边框尽可能的窄(可设置为0),最大程度的节约了桌面空间,如果你的显示器比较大,或者有多个显示器,平铺式窗口管理器将是不二之选
![](https://box.kancloud.cn/2015-10-12_561bcb94ee26f.png)
常见的平铺式窗口管理器有: awesome、xmonad、dwm、wmii、ion、ratpoison、larswm 等, 推荐使用 `awesome`
* * *
> [[84](ch38s02.html#id3158868)] 像屋顶的瓦片一样平铺开来
> [[85](ch38s02.html#id3158880)] 手的磨损忽略了,因为它是可再生的
## 优点
awesome 有以下优点:
稳定、快速、简单
专注于效率
不需要为码放窗口分心,不需要在多个窗口间来回切换,不需要经常把手挪开使用鼠标
完全的键盘控制
在普通的窗口管理器中,完全键盘控制是不现实的,因为调整窗口位置无论如何要用鼠标。
强大、灵活的配置文件
使用 Lua 脚本作为配置文件使得它的灵活性非常高
支持多种窗口布局
多显示器支持
## 操作
awesome 中,所有的操作都可以用快捷键完成:
| | |
| --- | --- |
| 打开终端 | Mod4 + Return |
| 运行命令 | Mod4 + F1 |
| 关闭当前窗口 | Mod4 + Shift + c |
| 重启awesome | Mod4 + Control + r |
| 退出awesome | Mod4 + Shift + q |
| 重绘当前窗口 | Mod4 + Shift + r |
| 窗口间切换 | Mod4 + j | Mod4 + k |
| 标签间切换 | Mod4 + Left | Mod4 + Right |
| 切换到标签 | Mod4 + [1-9] |
| 屏幕间切换 | Mod4 + Control + j | Mod4 + Control + k |
| 切换布局 | Mod4 + space | Mod4 + Shift + space |
| 切换为浮动窗口 | Mod4 + Control + space |
| 调整窗口位置 | Mod4 + Shift + j | Mod4 + Shift + k |
| 调整列大小 | Mod4 + h | Mod4 + l |
| 调整主区窗口数量 | Mod4 + Shift + h | Mod4 + Shift + l |
| 调整辅区窗口数量 | Mod4 + Control + h | Mod4 + Control + l |
## 配置
awesome 全局配置文件为 `/etc/xdg/awesome/rc.lua`,用户配置文件为 `~/.config/awesome/rc.lua`,以下是一些配置选项:
**例 38.1. awesome 配置**
```
-- 主题文件。awesome的主题非常简单,只需要指明几个颜色就可以了
theme_path = "/usr/local/share/awesome/themes/default"
-- 设置默认终端
terminal = "urxvt"
-- Mod4 对应“Win”键,可以改成其它的
modkey = "Mod4"
-- 不保留窗口间的缝隙
c.honorsizehints = false
-- 默认使用浮动窗口的程序
-- 在awesome下用Mod4 + Ctr + i 查看当前程序的instance和class名称
floatapps =
{
["MPlayer"] = true,
["gimp"] = true,
["smplayer"] = true,
["mocp"] = true,
["Codeblocks"] = true,
-- 各种对话框
["Dialog"] = true,
-- firefox 的下载窗口
["Download"] = true,
["empathy"] = true
}
-- 程序启动时自动发送到某个屏幕的某个tag里
apptags =
{
["smplayer"] = { screen = 1, tag = 7 },
["amarokapp"] = { screen = 1, tag = 8 },
["VirtualBox"] = { screen = 1, tag = 9 },
["Firefox"] = { screen = 1, tag = 1},
["Thunderbird-bin"] = { screen = 1, tag = 7 },
["Linux-fetion"] = { screen = 1, tag = 6 },
}
-- 显示时间
-- 默认显示的是从1970年1月1日到现在经过了多少秒
-- 查找awful.hooks.timer.register这一行,改为如下配置
awful.hooks.timer.register(1, function ()
mytextbox.text = " " .. os.date() .. " "
end)
```
- 开源世界旅行手册
- 授权
- 致谢
- 序言
- 更新纪录
- 导读
- 如何写作科技文档
- 部分 I. 气候
- 第 1 章 GUI? CLI?
- 第 2 章 UNIX 缩写风格
- 第 3 章 版本号的迷雾
- 第 4 章 Vim 还是 Emacs
- 第 5 章 DocBook 还是 TeX
- 第 6 章 完全用 Gnu/Linux 工作
- 第 7 章 病毒
- 第 8 章 磁盘 分区
- 第 9 章 文件系统
- 第 10 章 发行版介绍
- 第 11 章 编程语言
- 第 12 章 无根的根:无名师的 Unix 心传
- 部分 II. 地理
- 第 13 章 基础知识
- 第 14 章 命令系统
- 第 15 章 基本系统
- 第 16 章 软件管理
- 第 17 章 核心工具集
- 第 18 章 编译工具链
- 第 19 章 图形界面
- 第 20 章 国际化
- 第 21 章 内核
- 第 22 章 Grub
- 第 23 章 服务器
- 第 24 章 Vim 编辑器
- 第 25 章 Emacs 入门
- 第 26 章 正则表达式
- 第 27 章 docbook 指南
- 第 28 章 Git 版本控制系统
- 第 29 章 ConTeXt 入门指南
- 部分 III. 景观
- 第 30 章 终极 Shell -- ZSH
- 第 31 章 完美工作站 Archlinux
- 第 32 章 组织你的意念:Emacs org mode
- 第 33 章 Zsh+screen
- 第 34 章 gentoo stage3
- 第 35 章 硬件问题
- 第 36 章 网络设置
- 第 37 章 自制 LiveCD
- 第 38 章 awesome
- 第 39 章 openbox 工作环境
- 第 40 章 Emacs muse
- 第 41 章 写作工具链
- 第 42 章 使用 lftp
- 第 43 章 Firefox 使用技巧
- 第 44 章 FVWM
- 部分 IV. 地质
- 第 45 章 Unix
- 第 46 章 Gnu
- 第 47 章 软件业自由之神——Richard Stallman
- 第 48 章 Linux
- 第 49 章 GNOME与KDE的战争
- 第 50 章 Vim Emacs
- 第 51 章 年代纪
- 第 52 章 我的选择
- 第 53 章 补遗