Restore Tag When Plug/Unplug Screen in Awesome WM

tag.connect_signal("request::screen", function(t)
    clients = t:clients()
    for s in screen do
        if s ~= t.screen and clients and next(clients) then
            t.screen = s
            t.original_tag_name = t.original_tag_name or t.name
            t.name = t.name .. "'"
            t.volatile = true
            return
        end
    end
end)

screen.connect_signal("added", function(s)
    for k,t in pairs(root.tags()) do
        if t.original_tag_name then
          -- find the new tag on the new screen
            new_tag = awful.tag.find_by_name(s, t.original_tag_name)
            if new_tag then
                t.name = t.original_tag_name
                t.original_tag_name = nil
                new_tag:swap(t)
                new_tag:delete(t, true)
            end
        end
    end
end)

Reference: reddit

折腾Awesome

折腾无止境,一直对此类Tiling WM很有兴趣.. 尽管是14’的屏幕,但因为高分,分辨率和22’的也差不很多. 今日折腾了数小时,配置文件也弄得差不多能看了,各种功能也小有熟悉,果然这类Tiling很好用. 无奈明日还得早起,先丢一些资源链接在这里.

1. awesome wiki主页
2. awesome wiki – Wicked 内有大量示例
3. 样例rc.lua [1],[2]

其他一些:
1. awesome这个名字太邪恶了,以至于google时经常答非所问
2. awesome内各个库也都是类似adj, 诸如beautiful, awful
3. 使用urxvt和pcmanfm,开始远离gnome系列(相比还是太慢了)
4. pcmanfm需要启用fam服务,或者安装gamin(同时会自动删除fam,据说更推荐这个)
5. 修改gtkrc-2.0/gtkrc.mine以指定gtk主题/icon主题
6. .Xdefault里指定X11 mouse主题
7. awesome中文资源好少…. 等闲下来整理一下吧.
8. lua有点意思.
9. 如此配置以后,内存占用比先前少了一半以上.
10. 14’用着也没问题啦[email protected]~

EOF.