aboutsummaryrefslogtreecommitdiff
path: root/modules/volumebar
blob: aab9cee216a274c8fc63fa0eaa34c19caa62dc0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/bash

# Prints out the volume percentage

VOLUME_WIDTH=15
VOLUME_SLIDER='|'
VOLUME_RAIL='-'
VOLUME_MUTED='muted'

PREFIX='VOL'

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 ))

        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
			done
        fi

		echo "$PREFIX$BAR"
}

get_volume