diff options
Diffstat (limited to 'volume-sndiod')
-rwxr-xr-x | volume-sndiod | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/volume-sndiod b/volume-sndiod new file mode 100755 index 0000000..b5af2f3 --- /dev/null +++ b/volume-sndiod @@ -0,0 +1,79 @@ +#!/usr/bin/env bash +# Displays the default device, volume, and mute status for i3blocks + +AUDIO_HIGH_SYMBOL=' ' + +AUDIO_MED_THRESH=50 +AUDIO_MED_SYMBOL=' ' + +AUDIO_LOW_THRESH=0 +AUDIO_LOW_SYMBOL=' ' + +AUDIO_MUTED_SYMBOL=' ' + +AUDIO_INTERVAL=6 + +DEFAULT_COLOR="#ffffff" +MUTED_COLOR="#a0a0a0" + +USE_PERCENT=1 + +SUBSCRIBE=0 + +while getopts pH:M:L:X:T:t:C:c:i:h opt; do + case "$opt" in + p) USE_PERCENT=0 ;; + H) AUDIO_HIGH_SYMBOL="$OPTARG" ;; + M) AUDIO_MED_SYMBOL="$OPTARG" ;; + L) AUDIO_LOW_SYMBOL="$OPTARG" ;; + X) AUDIO_MUTED_SYMBOL="$OPTARG" ;; + T) AUDIO_MED_THRESH="$OPTARG" ;; + t) AUDIO_LOW_THRESH="$OPTARG" ;; + C) DEFAULT_COLOR="$OPTARG" ;; + c) MUTED_COLOR="$OPTARG" ;; + i) AUDIO_INTERVAL="$OPTARG" ;; + h) printf \ +"Usage: volume-sndiod [-p] [-H symb] [-M symb] + [-L symb] [-X symb] [-T thresh] [-t thresh] [-C color] [-c color] [-i inter] [-h] +Options: +-p\tOmit the percent sign (%%) in volume +-H\tSymbol to use when audio level is high. Default: '$AUDIO_HIGH_SYMBOL' +-M\tSymbol to use when audio level is medium. Default: '$AUDIO_MED_SYMBOL' +-L\tSymbol to use when audio level is low. Default: '$AUDIO_LOW_SYMBOL' +-X\tSymbol to use when audio is muted. Default: '$AUDIO_MUTED_SYMBOL' +-T\tThreshold for medium audio level. Default: $AUDIO_MED_THRESH +-t\tThreshold for low audio level. Default: $AUDIO_LOW_THRESH +-C\tColor for non-muted audio. Default: $DEFAULT_COLOR +-i\tInterval size of volume increase/decrease. Default: $AUDIO_INTERVAL +-h\tShow this help text +" && exit 0;; + esac +done + +case "$BLOCK_BUTTON" in + 2) aucactl master=$( + 4) aucactl master=$( expr $RAWVOL + $AUDIO_INTERVAL) ;; + 5) aucactl master=$( expr $RAWVOL - $AUDIO_INTERVAL) ;; +esac + +function print_format { + PERCENT="%" + [[ $USE_PERCENT == 0 ]] && PERCENT="" + echo "$SYMBOL$VOL$PERCENT" +} + +function print_block { + RAWVOL=$(aucatctl master | cut -d = -f 2) + VOL=$( expr $RAWVOL \* 100 / 127) + + + SYMBOL=$AUDIO_HIGH_SYMBOL + [[ $VOL -le $AUDIO_MED_THRESH ]] && SYMBOL=$AUDIO_MED_SYMBOL + [[ $VOL -le $AUDIO_LOW_THRESH ]] && SYMBOL=$AUDIO_LOW_SYMBOL + COLOR=$DEFAULT_COLOR + + print_format + echo "$COLOR" +} + +print_block |