Как сделать awesomewm textclock, отражают изменение часового пояса?

Если существует канал | символы в долгой командной строке Bash, не может быть никакой потребности в обратной косой черте \ замаскировать новую строку потому что канал | символы могут использоваться для того, чтобы форматировать Ваш код также.

# example
ls | 
 cat -n | 
 tail   | 
 head
5
09.08.2014, 00:43
1 ответ

Ниже представлен обновленный виджет textclock.lua, который реагирует на изменение часового пояса во время выполнения. Я заменил файл /usr/share/awesome/lib/awful/widget/textclock.lua. Я также установил модуль luatz из этого github repo и переместил папку luatz в /usr/share/lua/5. 2/luatz так, что функция lua require находит его автоматически.

/usr/share/awesome/lib/awful/widget/textclock. lua:

local setmetatable = setmetatable
local os = os
local textbox = require("wibox.widget.textbox")
local capi = { timer = timer }
local luatz = require("luatz")
local tzcache = require("luatz.tzcache")

--- Text clock widget.
-- awful.widget.textclock
local textclock = { mt = {} }

--- Create a textclock widget. It draws the time it is in a textbox.
-- @param format The time format. Default is " %a %b %d, %H:%M ".
-- @param timeout How often update the time. Default is 60.
-- @return A textbox widget.
function textclock.new(format, timeout)
    local format = format or " %a %b %d, %H:%M "
    local timeout = timeout or 60

    local w = textbox()
    local timer = capi.timer { timeout = timeout }
    timer:connect_signal("timeout", function() 
        tzcache.clear_tz_cache()
        w:set_markup(os.date("!"..format, luatz.time_in())) 
    end)
    timer:start()
    timer:emit_signal("timeout")
    return w
end

function textclock.mt:__call(...)
    return textclock.new(...)
end

return setmetatable(textclock, textclock.mt)
3
27.01.2020, 20:41

Теги

Похожие вопросы