Skip to content

Instantly share code, notes, and snippets.

@KasRoudra
Created September 18, 2023 05:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KasRoudra/932baeca5bed819f5f5ab1cc6447da28 to your computer and use it in GitHub Desktop.
Save KasRoudra/932baeca5bed819f5f5ab1cc6447da28 to your computer and use it in GitHub Desktop.
A termux volume controller built for cronjobs
#!/bin/bash
min() {
for stream in $(termux-volume | jq -r ".[].stream"); do
termux-volume $stream 0
done
echo "Mode: Silent"
termux-toast "Mode: Silent"
}
min2() {
streams=()
max_volumes=()
for item in $(termux-volume | jq -r ".[].stream"); do
streams+=("$item")
done
count=$(expr "${#streams[@]}" - 1)
for index in $(seq 0 $count); do
termux-volume ${streams[$index]} 0
done
echo "Mode: Silent"
termux-toast "Mode: Silent"
}
max() {
streams=()
max_volumes=()
for item in $(termux-volume | jq -r ".[].stream"); do
streams+=("$item")
done
for item in $(termux-volume | jq -r ".[].max_volume"); do
max_volumes+=("$item")
done
count=$(expr "${#streams[@]}" - 1)
for index in $(seq 0 $count); do
termux-volume ${streams[$index]} ${max_volumes[$index]}
done
echo "Mode: Normal"
termux-toast "Mode: Normal"
}
main() {
if [ "$1" == "silent" ]; then
min
elif [ "$1" == "normal" ]; then
max
else
echo "Argument not supported"
fi
}
main $@
# My cronjob for everyday 9AM and 4PM
# 0 9 * * * volume silent
# 0 16 * * * volume normal
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment