我正在尝试在 Conky ( battery_bar
, fs_bar
...) 中自定义我的进度条,以便拥有不同于默认布局的布局,如下所示:
按照这个答案,我设法创建了一个文件系统使用栏,并通过一些代码修改,一个电池状态,看起来像这样。
这个栏是按照以下脚本生成的,这是上一个答案中建议的一个变体:
#!/bin/bash
cat /sys/class/power_supply/BAT0/capacity | awk 'NR==1{
n = ($1+0)/2; yellow = 20; red = 40;
if(n>=red) {
r = "${color ff0000}";
for(;n>=red;n--)
r = r "\\#"
}
if(n>=yellow){
y = "${color ffff00}";
for(;n>=yellow;n--)
y = y "\\#"
}
g = "${color 00ff00}";
for(;n>0;n--)
g = g "\\#";
print g y r
}'
我的问题是条的长度是恒定的,它会不断调整 Conky 窗口的大小,直到它能够显示 100% 的容量,全尺寸。这显然迫使我的 Conky 窗口大小至少是那些自定义条的长度,从而使屏幕变形。
根据我的实验,我可以看到 Conky 的默认栏对给定的窗口大小“响应”,并且在这方面不会引起问题;因为他们没有问题地调整自己的大小。我想知道它们是如何编程的,以便以最简洁的方式将相同的算法应用于我的代码。