呜呼哀哉,泪流满面,面朝大海,春暖花开。


然后是今天正题:awesome 3.4.9的程序自动归类。
在前天,我偶然看到了awesome这个平铺式窗口管理器的介绍,顿时被深深的吸引了。我在很短的时间内搜集到一些雷同的中文资料,不甚仔细的看了一遍,便投身添砖加瓦之中了。
于是,自然在这个awesome上摔了跟头。
作为一个活跃的软件工程,awesome几乎是每次版本更新都顺便更新配置文件的语法(麻花疼表示遇到知音了),咱就在这个语言快速进化的时代,被狠狠的摔了一跤。
按照网上3.4.3版本的方法,咱写出来的配置文件都无法顺利加载。然而语法校验却也显示没有错误。那么问题,大抵是代码歧义?
然而是怎么歧义的,咱当时并不知道,只好从昨天晚上这个时候开始疯狂的找资料看手册。目前来看,这个问题,主要是默认.rc.lua中包含有程序自动归类的代码,从别的地方里抄来的同样目的不同手段的代码与之冲突,于是配置失效。
所以,同学们下次在搞配置之前,先把默认配置跟注释完整的看完罢。
以下是简单的3.4.9版本关于程序自动归类的默认配置代码解释

-- {{{ Rules
awful.rules.rules = {
-- All clients will match this rule.
{ rule = { },
properties = { border_width = beautiful.border_width,
border_color = beautiful.border_normal,
focus = true,
keys = clientkeys,
buttons = clientbuttons } },
{ rule = { class = "MPlayer" }, --程序WM_CLASS值,可以通过xprop命令取得
properties = { floating = true } }, --开启floating模式
{ rule = { class = "URxvt" }
properties = { tag = tags[1][1] }, --程序启动后自动扔到某个tags里面。properties可以同时设定多个参数,中间用半角逗号隔开,如:
{ rule = { class = "Pidgin" },
properties = { floating = true, tag = tags[1][6] } },
}
-- }}}