![如何在 Conky 中的值和单位之间添加空格](https://linux22.com/image/1165541/%E5%A6%82%E4%BD%95%E5%9C%A8%20Conky%20%E4%B8%AD%E7%9A%84%E5%80%BC%E5%92%8C%E5%8D%95%E4%BD%8D%E4%B9%8B%E9%97%B4%E6%B7%BB%E5%8A%A0%E7%A9%BA%E6%A0%BC.png)
我的 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
并添加到您的部分.configrc
中conky.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 中。
最新版本的源代码包括一个配置设置,用于设置值和单位之间的间隔符,其中不包括任何内容,但尚未发布,因此您需要自己构建它。