-
-
Save jasondewitt/55c6c317caa5335de493fd5da2b1a41d to your computer and use it in GitHub Desktop.
Script to get volume notification with dunst http://imgur.com/a/qWgAw
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# You can call this script like this: | |
# $./volume.sh up | |
# $./volume.sh down | |
# $./volume.sh mute | |
function get_volume { | |
amixer get Master | grep '%' | head -n 1 | cut -d '[' -f 2 | cut -d '%' -f 1 | |
} | |
function is_mute { | |
amixer get Master | grep '%' | grep -oE '[^ ]+$' | grep off > /dev/null | |
} | |
function send_notification { | |
volume=`get_volume` | |
# Make the bar with the special character ─ (it's not dash -) | |
# https://en.wikipedia.org/wiki/Box-drawing_character | |
bar=$(seq -s "─" $(($volume / 5)) | sed 's/[0-9]//g') | |
# Send the notification | |
dunstify -i audio-volume-muted-blocking -t 8 -r 2593 -u normal " $bar" | |
} | |
case $1 in | |
up) | |
# Set the volume on (if it was muted) | |
amixer -D pulse set Master on > /dev/null | |
# Up the volume (+ 5%) | |
amixer -D pulse sset Master 5%+ > /dev/null | |
send_notification | |
;; | |
down) | |
amixer -D pulse set Master on > /dev/null | |
amixer -D pulse sset Master 5%- > /dev/null | |
send_notification | |
;; | |
mute) | |
# Toggle mute | |
amixer -D pulse set Master 1+ toggle > /dev/null | |
if is_mute ; then | |
dunstify -i audio-volume-muted -t 8 -r 2593 -u normal "Mute" | |
else | |
send_notification | |
fi | |
;; | |
esac |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment