Interval: 在 i3blocks 中持续或重复是一个坏主意吗?刷新块的正确方法是什么?

Interval: 在 i3blocks 中持续或重复是一个坏主意吗?刷新块的正确方法是什么?

当我从其他地方更改某些块(例如 i3blocks 中的音量和键盘布局)时,刷新它们的最佳方法是什么?我正在考虑以某种方式在命令执行时刷新它们,就像我执行 amixer 命令时音量块刷新一样,但我找不到方法来做到这一点。我发现人们使用持久间隔,使用它是个好主意还是就像每毫秒执行命令一样?

答案1

您可以定义可以发送到 i3blocks 以刷新各个块的信号,例如:

bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +3% && pkill -SIGRTMIN+10 i3blocks

i3块:

[volume]
label=♪
interval=60
instance=Master
signal=10

这非常适合您在 i3 配置中映射操作的情况。当我通过 pavucontrol 更改音量时,我仍然使用间隔作为后备。我想我从 Arch wiki 或下面链接的存储库中找到了我正在使用的配置,以防您想知道。

澄清一下:持久化适用于不退出但每当有新的/更改的信息时写入标准输出的脚本。重复用于运行直到发生某些事情并且应该在退出后立即重新运行的脚本/命令。如果您的命令/脚本不遵循这种做法,是的,这可能是一个坏主意。

在这里查看更多信息: https://github.com/vivien/i3blocks#signal

相关内容