function capslock(widget)
os.execute("sleep .2")
local s = io.popen("xset -q")
local ss = ''
local sn = ''
for line in s:lines() do
ss = line:match('Caps Lock:%s*%l*%s*')
sn = line:match('Num Lock:%s*%l*%s*')
if ss and sn then break end
end
local sss = string.gsub(ss,"Caps Lock:%s*(%l*)%s*","%1")
local sns = string.gsub(sn,"Num Lock:%s*(%l*)%s*","%1")
widget.text = "(" .. sss:upper() ..")" .. "(" .. sns:upper() .. ")"
end
这函数写得写烂,调用的是xset,而且反复按的话会有bug(当然没有谁无聊一直反复切换嘛)。不得不说,我讨厌lua的正则,好讨厌。
再将这个函数绑定到按键上
awful.key({ }, 'Caps_Lock', function () capslock(caps_lock) end),
awful.key({ }, 'Num_Lock', function () capslock(caps_lock) end)
完整的配置文件在:https://github.com/maplebeats/configuration/blob/master/awesome/rc.lua
最近有解决了些小问题,想分享一下,又没必要写新文章,所以就直接加了。
X11默认是10分钟超时关屏,然后我又没有什么电源管理之类的,经常看动漫的我表示,关屏30分钟才是我需要的值。。。但是我死活找不到配置文件在哪里。在IRC里经人提醒才发现了xset这个命令。 xset dpms 1800 2400 2400 s off
就更改到了30分钟,改成0就是不自动关屏,上面的widget就是通过调用这个来判断lock状态的,哈哈。
今天在沙发上玩的时候,连续两次把电源碰到直接关机了。十分想吐槽该死的ACER的设计。然后这个玩意也是电源管理里的,但是我没有那些组件,所以。。。一时没找到办法,我还想过更改按键映射,但是想想这样很愚蠢。直到我发现了/etc/systemd/logind.conf,systemd居然自己有这个功能。。。于是把几个关于Power的全都改成ignore了。重启之后工作明显,但是我没想到办法不重启载入这配置的方法。。。
update at 10.5
国庆快乐(≧▽≦)y
最近发生的事太多了,好几次都想下“笔”写博客,但是都收回来了。一切的一切等我找到实习了,也许就会好些吧。