#!/usr/bin/env rc # many thanks to bruenig and Thayer secs=3 bg='#080808' fg='#eeeeee' bar_fg='#eeeeee' bar_bg='#949494' height=24 width=192 bar_width=160 font=fixed xy=`{xdpyinfo | grep dimensions: | awk '{print $2}' | sed 's/x/ /' } xpos=`{expr '(' $xy(1) - $width ')' / 2} ypos=`{expr '(' $xy(2) - $height ')' / 2} pipe=/tmp/dvolpipe pmixargs=() fn err { echo $1 exit 1 } switch($1) { case -i --increase if(~ $2 '') err 'No argument specified for increase' pmixargs=(increase $2) case -d --decrease if(~ $2 '') err 'No argument specified for decrease' pmixargs=(decrease $2) case -t --toggle pmixargs=(toggle) case '' -h --help echo 'usage: dvol [option] [argument]' echo echo 'Options:' echo ' -i, --increase - increase volume by `argument''' echo ' -d, --decrease - decrease volume by `argument''' echo ' -t, --toggle - toggle mute on and off' echo ' -h, --help - display this' exit 0 case * err 'Unrecognized option `'$1''', see dvol --help' } echo ponymix $pmixargs newvolume=0 volume=`{ponymix $pmixargs} if(! ponymix is-muted) { newvolume=$volume } if(! test -e $pipe) { mkfifo $pipe echo dzen2 -tw $width -h $height -x $xpos -y $ypos -fn $font -bg $bg -fg $fg {dzen2 -tw $width -h $height -x $xpos -y $ypos -fn $font -bg $bg -fg $fg < $pipe; rm -f $pipe} & } output=`{echo $newvolume | gdbar -h 8 -fg $bar_fg -bg $bar_bg -w $bar_width} echo $output {echo $newvolume | gdbar -h 8 -fg $bar_fg -bg $bar_bg -w $bar_width; sleep $secs} > $pipe