命令行日历程序 cal
,功能简单,没有节假日和阴历信息,所以有了 gcal
。
包括: 除夕(Chinese New Year’s Day)、清明(Tomb-Sweeping Day)、端午(Dragon Boat
Festival)、中秋(Mid-Autumn Festival)等传统节日,以及元旦、五一、十一、儿童节、
教师节等。
% sudo apt-get install gcal
% gcal -i -s1 -qcn --chinese-months -cezk .
集成到 Awesome 窗口管理器,向 rc.lua 的 globalkeys = awful.util.table.join
里面添加以下内容:
awful.key({ modkey, "Control" }, "d", function ()
if calendar ~= nil then
naughty.destroy(calendar)
calendar = nil
return
end
--| 从这里开始是为了删除末尾的空行和换行符,这样显示在 naughty 的效果会更紧凑一些
local f = io.popen("gcal -i -s1 --highlighting=\" :+: :*\" -qcn --chinese-months -cezk . | tail -n +3 | awk 'NR > 1 { print h } { h = $0 } END { ORS = \"\"; print h }'")
local c = f:read("*a")
f:close()
calendar = naughty.notify({
text = string.format('<span font_desc="%s">%s</span>', "Envy Code R", c), -- 必须用等宽字体,把 Envy Code R 改成你习惯的等宽字体
position = "bottom_right", --font = "Envy Code R",
timeout = 0, width = 460, screen = mouse.screen })
end),