Conky
使用零填充創建 Conky 文本變數?
我的 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 提供的解決方案:
- 創建一個 Lua 腳本供 Conky 使用。我在我製作的文件夾中創建了我的
~/.config/conky/scripts
,但您可以在任何您喜歡的地方創建自己的:$ mkdir -p ~/.config/conky/scripts/ $ vim ~/.config/conky/scripts/conky_lua_scripts.lua
- 使用以下 Lua 函式填充文件:
function conky_format( format, number ) return string.format( format, conky_parse( number ) ) end
lua_load
使用指令將 Lua 腳本文件導入 Conky 配置文件# ... lua_load ~/.config/conky/scripts/conky_lua_scripts.lua TEXT # ...
- 每當你想格式化一個值時,呼叫
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
,則可以使用該實用程序執行其他很棒的格式化技巧。