Простой виджет, отображающий информацию о последнем обновлении дерева портежей.
Для начала добавим в rc.lua код виджета, который читает содержимое файла /usr/portage/metadata/timestamp.chk, и вносит его содержимое в таблицу.
Для начала добавим в rc.lua код виджета, который читает содержимое файла /usr/portage/metadata/timestamp.chk, и вносит его содержимое в таблицу.
-- {{{ WiboxИнициализируем виджет (пример для отражения дня и месяца) :
-- Last portage update
local sync = {
["{weekday}"] = "N/A",
["{date}"] = "N/A",
["{month}"] = "N/A",
["{year}"] = "N/A",
["{hour}"] = "N/A",
["{minutes}"] = "N/A"
}
local function timestamp()
local l = {}
local f = io.open("/usr/portage/metadata/timestamp.chk", "r")
local t = f:read("*line")
f:close()
for w in t:gmatch("%w+") do
table.insert(l,w)
end
sync["{weekday}"], sync["{date}"], sync["{month}"], sync["{year}"], sync["{hour}"], sync["{minutes}"] = l[1], l[2], l[3], l[4], l[5], l[6], l[7]
return sync
end
lastsyncwidget = widget({ type = "textbox" })И, наконец, добавим таймер(пример для обновления каждые 30 секунд).
lastsyncwidget.text = sync["{date}"] .. " " .. sync["{month}"]
timestamptimer = timer({ timeout = 30 })Теперь осталось только добавить виджет на wibox.
timestamptimer:add_signal("timeout", function()
timestamp()
lastsyncwidget.text = sync["{date}"] .. " " .. sync["{month}"]
end)
timestamptimer:start()
mywibox[s].widgets = {
...
lastsyncwidget,
...
}
Комментариев нет:
Отправить комментарий