summaryrefslogtreecommitdiff
path: root/volume-sndiod
diff options
context:
space:
mode:
Diffstat (limited to 'volume-sndiod')
-rwxr-xr-xvolume-sndiod79
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