55 lines
1.3 KiB
Bash
Executable File
55 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
##########################################
|
|
# _ _ _ _ #
|
|
# | | | | (_) | | #
|
|
# __ _____ | |_ __ ___ | |_ _ __| | #
|
|
# \ \ / / _ \| | '_ \ / _ \| __| |/ _` | #
|
|
# \ V / (_) | | | | | (_) | |_| | (_| | #
|
|
# \_/ \___/|_|_| |_|\___/ \__|_|\__,_| #
|
|
# #
|
|
##########################################
|
|
|
|
#
|
|
# This script uses volnoti, which can be installed from git or
|
|
# from the arch aur.
|
|
#
|
|
# yaourt -S volnoti
|
|
#
|
|
|
|
VOLUME=$(amixer get Master | grep Mono: | sed 's|[^[]*\[\([0-9]*\).*|\1|')
|
|
VALUE=3dB
|
|
MUTE=0
|
|
|
|
case "$1" in
|
|
"up")
|
|
# Increase Volume
|
|
[[ "$VOLUME" -eq 100 ]] && VALUE=0
|
|
amixer -q set Master $VALUE+ unmute && killall -SIGUSR1 i3status
|
|
MUTE=0
|
|
;;
|
|
"down")
|
|
# Decrease Volume
|
|
amixer -q set Master $VALUE- unmute && killall -SIGUSR1 i3status
|
|
MUTE=0
|
|
# If the Volume is already 0, then mute
|
|
if [ "$VOLUME" == "0" ]; then
|
|
MUTE=1
|
|
amixer -q set Master toggle && killall -SIGUSR1 i3status
|
|
fi
|
|
;;
|
|
"mute")
|
|
# Mute
|
|
amixer -q set Master toggle && killall -SIGUSR1 i3status
|
|
MUTE=1
|
|
;;
|
|
esac
|
|
|
|
VOLUME=$(amixer get Master | grep Mono: | sed 's|[^[]*\[\([0-9]*\).*|\1|')
|
|
|
|
if [ "$MUTE" == "0" ]; then
|
|
volnoti-show $VOLUME
|
|
else
|
|
volnoti-show -m $VOLUME
|
|
fi
|