function print_mute { local stat VOL MUTE stat=$(amixer -c0 get Master | grep "Front Left:") VOL=$(sed 's/^.*\[\(.*\)%\].*$/\1/g' <<< "${stat}") MUTE=$(sed 's/^.*\[\([^\[]*\)\]$/\1/g' <<< "${stat}") if [ "${MUTE}" == "off" -o "${MUTE}" == "0" ] then echo "^tw()^fg(#FF0000)^i(${HOME}/.dzen2/icons/vol-mute.xbm)" else echo "^tw()^fg()^i(${HOME}/.dzen2/icons/vol-hi.xbm)" fi echo "$(echo "$VOL" | tail -n 1)" | gdbar -h 6 -w 50 -fg '#999' -bg '#444' } print_mute inotifywait -q -m /dev/snd/controlC0 -e ACCESS | while read i do print_mute done