为什么 conky 中的 execbar 不使用变量
Why is execbar in conky not working with a variable
conky 中的 execbar 似乎无法正常工作。
所以如果我在 bash 脚本(名为 myscript.sh)
# moc or mocp is Music on Console
totalsec=$(mocp --info | grep "TotalSec" | cut -d: -f2 | sed 's/^ //g' | sed 's/ $//g')
cursec=$(mocp --info | grep "CurrentSec" | cut -d: -f2 | sed 's/^ //g' | sed 's/ $//g')
progress=$(echo "(${cursec}*100/${totalsec})" | bc)
echo "${execbar echo ${progress}}"
echo "${progress}" # This works and shows be the value of the integer variable.
然后使用
从 conky 调用 bash 脚本
conky.text = [[${execpi 3 ./myscript.sh}]];
然后不显示进度条。只有一个白色的矩形。
但是,如果相同的 bash 脚本更改为
progress=23
echo "${execbar echo ${progress}}"
然后它开始工作并显示 23
的常量条。
不知道为什么传递整数变量不起作用。
任何解决此问题的帮助将不胜感激。
事实证明,bash 脚本中的 execbar
可以工作。有点。
为了将问题集中在变量问题上,我制作了一个小脚本 (myscript2.sh),它只获取当前时间的秒数以显示在栏中...
#!/bin/bash
progress=$(date --date='now' +%S)
echo ${execbar echo ${progress}}
...并且能够使用这个 conky 配置文件定期更新显示秒数的条...
conky.config = {
alignment = 'top_left',
minimum_width = 300,
own_window = true,
own_window_hints = 'below',
own_window_type = 'desktop',
own_window_argb_visual=true,
own_window_transparent = true,
update_interval = 2.0,
}
conky.text = [[
${execpi 3 ./myscript2.sh}
]]
但是,conky 在显示栏填充到适当程度和显示栏空之间交替。换句话说,栏内容的显示闪烁。呸
作为替代方案,通过使用脚本 (myscript3.sh) 来简单地 return 要在栏中显示的值...
#!/bin/bash
progress=$(date --date='now' +%S)
echo $progress
...并更改 conky 配置文件以使用 execibar
而不是 execpi
...
conky.config = {
alignment = 'top_left',
minimum_width = 300,
own_window = true,
own_window_hints = 'below',
own_window_type = 'desktop',
own_window_argb_visual=true,
own_window_transparent = true,
update_interval = 2.0,
}
conky.text = [[
${execibar 3 ./myscript3.sh}
]]
...它似乎按预期工作,没有任何闪烁。
conky 中的 execbar 似乎无法正常工作。
所以如果我在 bash 脚本(名为 myscript.sh)
# moc or mocp is Music on Console
totalsec=$(mocp --info | grep "TotalSec" | cut -d: -f2 | sed 's/^ //g' | sed 's/ $//g')
cursec=$(mocp --info | grep "CurrentSec" | cut -d: -f2 | sed 's/^ //g' | sed 's/ $//g')
progress=$(echo "(${cursec}*100/${totalsec})" | bc)
echo "${execbar echo ${progress}}"
echo "${progress}" # This works and shows be the value of the integer variable.
然后使用
从 conky 调用 bash 脚本conky.text = [[${execpi 3 ./myscript.sh}]];
然后不显示进度条。只有一个白色的矩形。
但是,如果相同的 bash 脚本更改为
progress=23
echo "${execbar echo ${progress}}"
然后它开始工作并显示 23
的常量条。
不知道为什么传递整数变量不起作用。
任何解决此问题的帮助将不胜感激。
事实证明,bash 脚本中的 execbar
可以工作。有点。
为了将问题集中在变量问题上,我制作了一个小脚本 (myscript2.sh),它只获取当前时间的秒数以显示在栏中...
#!/bin/bash
progress=$(date --date='now' +%S)
echo ${execbar echo ${progress}}
...并且能够使用这个 conky 配置文件定期更新显示秒数的条...
conky.config = {
alignment = 'top_left',
minimum_width = 300,
own_window = true,
own_window_hints = 'below',
own_window_type = 'desktop',
own_window_argb_visual=true,
own_window_transparent = true,
update_interval = 2.0,
}
conky.text = [[
${execpi 3 ./myscript2.sh}
]]
但是,conky 在显示栏填充到适当程度和显示栏空之间交替。换句话说,栏内容的显示闪烁。呸
作为替代方案,通过使用脚本 (myscript3.sh) 来简单地 return 要在栏中显示的值...
#!/bin/bash
progress=$(date --date='now' +%S)
echo $progress
...并更改 conky 配置文件以使用 execibar
而不是 execpi
...
conky.config = {
alignment = 'top_left',
minimum_width = 300,
own_window = true,
own_window_hints = 'below',
own_window_type = 'desktop',
own_window_argb_visual=true,
own_window_transparent = true,
update_interval = 2.0,
}
conky.text = [[
${execibar 3 ./myscript3.sh}
]]
...它似乎按预期工作,没有任何闪烁。