如何在 Conky 中的值和单位之间添加空格

如何在 Conky 中的值和单位之间添加空格

我的 Conky 当前显示以下内容${mem}以及${memmax}变量:

Mem: 3.63GiB / 15.2GiB

我希望它看起来像:

Mem: 3.63 GiB / 15.2 GiB

通过某些配置可以实现这个功能吗?

答案1

这似乎有点困难,但如果你的 conky 是用它编译的,lua那么你可以写一小段代码来分割输出字符串并添加空格。创建一个文件,~/myformat.lua内容如下:

function conky_myformat(arg)
 local val = conky_parse(arg)
 return string.gsub(val, "([%d.-]+)(%a+)", "%1 %2", 1)
end

并添加到您的部分.configrcconky.config

lua_load = '~/myformat.lua',

${mem}并通过调用上述函数替换每个函数,例如

conky.text = [[
 old: ${mem} and ${memmax}
 new: ${lua myformat ${mem}} and ${lua myformat ${memmax}}
]]

lua 不使用正则表达式 (regex),但使用类似的模式,请参阅文档. %d匹配一个数字、%a一个字母,并()用于捕获匹配项以用于替换字符串等%1

或者,你可以从源代码编译自己的 conky,更改human_readable()函数src/conky.cc

答案2

大约在 2020 年 8 月,版本 1.11.6 在值和单位之间添加了一个空格。我不确定这是否是故意的更改,它是 SI 单位修复的一部分。它应该在 20.10 中,而不是 20.04 中。

最新版本的源代码包括一个配置设置,用于设置值和单位之间的间隔符,其中不包括任何内容,但尚未发布,因此您需要自己构建它。

相关内容