summaryrefslogtreecommitdiff
path: root/.i3/scripts/conky_helpers.lua
blob: 1716e96732683c9bf543e41668b7de25f0e8490d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
-- escape special chars to be usable in JSON
function conky_json(str)
    str,_ = string.gsub(conky_parse(str), '([\\"])', '\\%1')
    return str
end

-- format strings of 'xxh xxm xxs' as 'hh:mm'
function conky_utime(str)
    return string.format("%d:%02d", string.match(conky_parse(str), '(%d+)h (%d+)m (%d+)s'))
end

-- format all the args as a JSON dictionary
-- args are as key1, value1, key2, value2, ...
function conky_i3(...)
    d = "{"
    key = true
    for i,v in ipairs(arg) do
        if key then
            d = d .. "\"" .. v .. "\":"
            key = false
        else
            d = d .. conky_parse(v)
            if string.sub(v, -1) == '"' then
                if i < table.getn(arg) then d = d .. "," end
                key = true
            else
                d = d .. " "
            end
        end
    end
    return d .. "}"
end