我想执行基本的、任意的数学运算,而不需要为其编写 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 函数中的对象,如上面的示例代码所示。