ギャップ:i3blocksの永続性または反復は悪い考えですか?ブロックを更新する正しい方法は何ですか?

ギャップ: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を介してボリュームを変更するときは、まだ間隔を代替手段として使用しています。もし疑問に思うかもしれません。

明確に言えば、永続性は終了しませんが、新しい/変更された情報があるたびにstdoutに書き込むスクリプト用です。何かが起こるまで実行され、終了後すぐに再実行する必要があるスクリプト/コマンドに繰り返し使用されます。あなたのコマンド/スクリプトがこの慣行に従わない場合は、はい。おそらく悪い考えでしょう。

詳しくはこちらをご覧ください。 https://github.com/vivien/i3blocks#signal

関連情報