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関数からオブジェクトにアクセスできます。