Conky 能自然地进行基础数学吗?

Conky 能自然地进行基础数学吗?

我想执行基本的、任意的数学运算,而不需要为其编写 lua 函数。

一个(非工作)例子可能是:${${loadavg 1}*100)}% 如果这是可能的,那么可以想象许多其他用途。

答案1

答案取决于你如何看待它。如果您认为 Conky 的内置 Lua 支持以及 Lua 的相关使用是 Conky 的一部分,那么是的。否则,不行。

使用 Lua 进行计算相当简单。这是一个示例 Lua 文件,要求temps.lua进行一些计算(我也加入了你的示例)...

function conky_F2C(f)
    local c = (5.0/9.0)*(f-32.0)
    return c
end

function conky_C2F(c)
    local f = c*(9.0/5.0)+32.0
    return f
end

function conky_acpitempF()
    local c = conky_parse("${acpitemp}")
    return conky_C2F(c)
end

function conky_loadavg()
    return conky_parse("${loadavg 1}") * 100
end

conky.config在我的文件部分的顶部.conkyrc,我放置了以下内容......

lua_load = '~/bin/lua_scripts/temps.lua',

在本conky.text节中,我添加了以下几行...

ACPI Temp... ${acpitemp}°C
Conv to F... ${lua conky_acpitempF}°F

Body Temp... 98.6°C
Conv to C... ${lua conky_F2C 98.6}°C

Load Avg... ${loadavg 1}
Multipliled by 100... ${lua conky_loadavg}%

Conky 上的结果显示应类似于...

ACPI Temp... 43°C
Conv to F... 109.4°F

Body Temp... 98.6°C
Conv to C... 37°C

Load Avg... 0.28
Multipliled by 100... 28.0%

请注意,据我所知,您无法将 Conky 对象传递${loadavg 1}给 Lua 函数。但是您可以访问 Lua 函数中的对象,如上面的示例代码所示。

相关内容