From 9a22deb48705cc1b94b955cc8a9f0a72f8ac7e4e Mon Sep 17 00:00:00 2001 From: "Archie Hilton (thytom)" Date: Tue, 22 Oct 2019 00:17:37 +0100 Subject: [PATCH] Changed volumebar slightly --- modules/volumebar | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/modules/volumebar b/modules/volumebar index aab9cee..f2a9fa0 100755 --- a/modules/volumebar +++ b/modules/volumebar @@ -2,33 +2,38 @@ # Prints out the volume percentage -VOLUME_WIDTH=15 -VOLUME_SLIDER='|' -VOLUME_RAIL='-' +# Dependencies: bc + +VOLUME_WIDTH=9 +VOLUME_SLIDER='⬤' +VOLUME_RAIL='◯' VOLUME_MUTED='muted' -PREFIX='VOL' +PREFIX='' + +# If volume is >100 +ALERT='!!!' get_volume(){ active_sink=$(pacmd list-sinks | awk '/* index:/{print $3}') curStatus=$(pacmd list-sinks | grep -A 15 "index: $active_sink$" | awk '/muted/{ print $2}') volume=$(pacmd list-sinks | grep -A 15 "index: $active_sink$" | grep 'volume:' | grep -E -v 'base volume:' | awk -F : '{print $3}' | grep -o -P '.{0,3}%'| sed s/.$// | tr -d ' ') - slider_position=$(( $volume / $VOLUME_WIDTH )) + slider_position=$(echo "scale=scale(1.0); x = ($volume / 100) * $VOLUME_WIDTH; scale=scale(1); x / 1" | bc) if [ "${curStatus}" = 'yes' ] then echo "$VOLUME_MUTED" exit 0 else - for i in $(seq 1 $slider_position); do - BAR=$BAR$VOLUME_RAIL - done - BAR=$BAR$VOLUME_SLIDER - for i in $(seq $slider_position $VOLUME_WIDTH); do - BAR=$BAR$VOLUME_RAIL + for i in $(seq 1 $VOLUME_WIDTH); do + [[ $i = $slider_position ]] && BAR=$BAR$VOLUME_SLIDER + [[ $i < $slider_position ]] && BAR=$BAR$VOLUME_SLIDER + [[ $i > $slider_position ]] && BAR=$BAR$VOLUME_RAIL done fi + [[ $volume -gt 100 ]] && PREFIX=$PREFIX$ALERT + echo "$PREFIX$BAR" }