我的 Conky 设置有一个奇怪的问题:
我希望摆脱/修复的是我的 CPU 百分比(使用${cpu cpuX}
)似乎无法正确填充的事实。我希望所有值都垂直对齐,以便状态永远不会摆动。以下是我的 conky 文件的摘录:
# ...
pad_percents 3
# ...
${cpubar cpu1 6,135}$alignr${...}${cpu cpu1}%
Run Code Online (Sandbox Code Playgroud)
如何正确对齐和填充 CPU 百分比值,以便它们停止抛弃我的布局?等效的 printf 将%3.0f
使得值将如下所示:
$ "%3.0f" % (1,)
' 1'
$ "%3.0f" % (13,)
' 13'
$ "%3.0f" % (100,)
'100'
Run Code Online (Sandbox Code Playgroud)
我怎样才能在 Conky 中实现我的 CPU 百分比?
上面@jasonwryan 提供的解决方案:
创建一个 Lua 脚本供 Conky 使用。我在我创建的文件夹中创建了我的文件夹~/.config/conky/scripts
,但您可以在任何地方创建您的文件夹:
$ mkdir -p ~/.config/conky/scripts/
$ vim ~/.config/conky/scripts/conky_lua_scripts.lua
Run Code Online (Sandbox Code Playgroud)使用以下 Lua 函数填充文件:
function conky_format( format, number )
return string.format( format, conky_parse( number ) )
end
Run Code Online (Sandbox Code Playgroud)使用lua_load
指令将 Lua 脚本文件导入 Conky 配置文件
# ...
lua_load ~/.config/conky/scripts/conky_lua_scripts.lua
TEXT
# ...
Run Code Online (Sandbox Code Playgroud)每当你想格式化一个值时,调用format
我们之前定义的函数。请注意,虽然我们将它命名为 ,但我们使用变量来conky_format
访问它:format
lua_parse
# ...
lua_load ~/.config/conky/scripts/conky_lua_scripts.lua
TEXT
# ...
${lua_parse format %3.0f ${cpu cpu1}}%
Run Code Online (Sandbox Code Playgroud)这个不错的脚本允许您使用任何值和格式字符串调用 Lua 格式化引擎。输出现在看起来像预期的一样:
如果您熟悉printf
,则可以使用该实用程序执行其他出色的格式化技巧。