feat: huge update
This commit is contained in:
parent
9c621760cf
commit
757b759b4a
47 changed files with 221 additions and 286 deletions
|
@ -1,34 +1,46 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
SINK='@DEFAULT_AUDIO_SINK@'
|
||||
NOTIFY=(notify-send -t 1000 -u low)
|
||||
case "$1" in
|
||||
s)
|
||||
DEV='@DEFAULT_AUDIO_SINK@'
|
||||
SIG=35
|
||||
;;
|
||||
m)
|
||||
DEV='@DEFAULT_AUDIO_SOURCE@'
|
||||
SIG=36
|
||||
;;
|
||||
*)
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
|
||||
function update_vol() {
|
||||
if [[ "$1" =~ ^(-|\+)* ]]; then
|
||||
CUR="$(($CUR + $1 - $CUR % $1 + $CUR % $1 * 10 / $1 / 5 * $1))"
|
||||
[ "$CUR" -lt 0 ] && CUR=0
|
||||
[ "$CUR" -gt 150 ] && CUR=150
|
||||
else
|
||||
CUR="$1"
|
||||
fi
|
||||
wpctl set-volume "$SINK" "$CUR%"
|
||||
case "$1" in
|
||||
+*|-*)
|
||||
CUR="$(($CUR + $1 - $CUR % $1 + $CUR % $1 * 10 / $1 / 5 * $1))"
|
||||
[ "$CUR" -lt 0 ] && CUR=0
|
||||
[ "$CUR" -gt 200 ] && CUR=200
|
||||
;;
|
||||
*)
|
||||
CUR="$1"
|
||||
esac
|
||||
wpctl set-volume "$DEV" "$CUR%"
|
||||
}
|
||||
|
||||
read -r _ CUR MUTE < <(wpctl get-volume "$SINK")
|
||||
read -r _ CUR MUTE < <(wpctl get-volume "$DEV")
|
||||
CUR="$(("10#${CUR/./}"))"
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
echo "$CUR"
|
||||
exit
|
||||
elif [ "$1" == 'm' ] && [ -z "$MUTE" ]; then
|
||||
wpctl set-mute "$SINK" 1
|
||||
"${NOTIFY[@]}" -i audio-volume-muted-symbolic -h string:synchronous:vol "Mute"
|
||||
wpctl set-mute "$DEV" 1
|
||||
else
|
||||
if [[ "$1" =~ [0-9] ]]; then
|
||||
update_vol "$1"
|
||||
fi
|
||||
[ -n "$MUTE" ] && wpctl set-mute "$SINK" 0
|
||||
"${NOTIFY[@]}" -i audio-volume-high-symbolic -h string:synchronous:vol -h int:value:"$CUR" "$CUR%"
|
||||
[ -n "$MUTE" ] && wpctl set-mute "$DEV" 0
|
||||
fi
|
||||
|
||||
kill -35 "$(cat "$HOME/.cache/pidofbar")"
|
||||
kill "-$SIG" "$(cat "$HOME/.cache/pidofbar")"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue