Conky

使用零填充創建 Conky 文本變數?

  • February 28, 2018

我的 Conky 設置有一個奇怪的問題:

在此處輸入圖像描述

我希望擺脫/修復的是我的 CPU 百分比(使用${cpu cpuX})似乎無法正確填充的事實。我希望所有值都垂直對齊,以便狀態永遠不會擺動。以下是我的 conky 文件的摘錄:

# ...
pad_percents 3
# ...
${cpubar cpu1 6,135}$alignr${...}${cpu cpu1}%

如何正確對齊和填充 CPU 百分比值,以使它們不再偏離我的佈局?等效的 printf 將使%3.0f值如下所示:

$ "%3.0f" % (1,) 
'  1'
$ "%3.0f" % (13,)
' 13'
$ "%3.0f" % (100,)
'100'

對於我的 CPU 百分比,如何在 Conky 中實現這一點?

上面@jasonwryan 提供的解決方案:

  1. 創建一個 Lua 腳本供 Conky 使用。我在我製作的文件夾中創建了我的~/.config/conky/scripts,但您可以在任何您喜歡的地方創建自己的:
$ mkdir -p ~/.config/conky/scripts/
$ vim ~/.config/conky/scripts/conky_lua_scripts.lua
  1. 使用以下 Lua 函式填充文件:
function conky_format( format, number )
   return string.format( format, conky_parse( number ) )
end
  1. lua_load使用指令將 Lua 腳本文件導入 Conky 配置文件
# ...
lua_load ~/.config/conky/scripts/conky_lua_scripts.lua

TEXT
# ...
  1. 每當你想格式化一個值時,呼叫format我們之前定義的函式。請注意,儘管我們將其命名為 ,但我們使用變數conky_format訪問它:format``lua_parse
# ...
lua_load ~/.config/conky/scripts/conky_lua_scripts.lua

TEXT
# ...
${lua_parse format %3.0f ${cpu cpu1}}%

這個不錯的腳本允許您使用任何值和格式字元串呼叫 Lua 格式化引擎。輸出現在看起來像預期的那樣:

驚人的

如果您熟悉printf,則可以使用該實用程序執行其他很棒的格式化技巧。

引用自:https://unix.stackexchange.com/questions/57789