ボリューム、バッテリー、空きディスク容量、時間など、ほとんど情報がないdwmステータスバーがあります(bashスクリプトを使用)。音量や明るさなどの一部の項目は、変更された場合(ボリュームを上げる/下げる、明るさを上げる/下げる)にのみ表示される必要があります。
端末で次のことができます。
vol="$(amixer get Master | tail -n1 | sed -r 's/.*\[(.*)%\].*/\1/')"
printf '%s\n' "Volume set to ${vol}" | dzen2 -p 3
これにより、dzenはバーの中央に実際の音量を表示します(明るさにも同じことがわかります)。
明るさを変更するには、XF86MonBrightnessDown XF86MonBrightnessUp(config.hで定義)を使用します。
音量/明るさの変化に関する情報を取得するには?
ご協力ありがとうございます!
答え1
私が正しく理解したら、dzen2
明るさ/音量を変更するとポップアップが表示されます。スクリプトでこれを行い、同じキーを押すとトリガーできXF86MonBrightnessUp
ますXF86XK_AudioLowerVolume
。
あなたのdwmにはconfig.h
次の行があります
...
{ 0, XF86XK_AudioRaiseVolume, spawn, SHCMD("volume_change.sh -i") },
{ 0, XF86XK_AudioLowerVolume, spawn, SHCMD("volume_change.sh -d") },
...
このSHCMD
コマンドは与えられたシェルコマンドを実行します。volume_change.sh
スクリプトを持つことができます
#!/bin/sh
case $1 in
# Increase volume
-i)
pactl set-sink-volume @DEFAULT_SINK@ +5%
vol="$(amixer get Master | tail -n1 | sed -r 's/.*\[(.*)%\].*/\1/')"
printf '%s\n' "Volume set to ${vol}" | dzen2 -p 3
;;
# Decrease volume.
-d)
pactl set-sink-volume @DEFAULT_SINK@ -5%
vol="$(amixer get Master | tail -n1 | sed -r 's/.*\[(.*)%\].*/\1/')"
printf '%s\n' "Volume set to ${vol}" | dzen2 -p 3
;;
esac
同様の明るさキースクリプトもあります。
volume_change.sh
ファイルにそのファイルがあり、PATH
実行可能であることを確認してください。
答え2
明るさ:
xsetroot -name "