init
This commit is contained in:
58
misc/bin/volume
Normal file
58
misc/bin/volume
Normal file
@@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Icons
|
||||
vol_dir="$HOME/.local/share/assets"
|
||||
notify_cmd='dunstify -u low -h string:x-dunst-stack-tag:cvolum'
|
||||
|
||||
# Get Volume
|
||||
get_volume() {
|
||||
pamixer --get-volume-human | sed 's/%//'
|
||||
}
|
||||
|
||||
# Get icons
|
||||
get_icon() {
|
||||
current="$(get_volume)"
|
||||
if [[ "$current" -eq "0" || "$current" == "muted" ]]; then
|
||||
icon="$vol_dir/mute.png"
|
||||
else
|
||||
icon="$vol_dir/vol.png"
|
||||
fi
|
||||
}
|
||||
|
||||
# Notify
|
||||
notify_user() {
|
||||
${notify_cmd} -i "$icon" "Volume : $(get_volume)%"
|
||||
}
|
||||
|
||||
# Adjust Volume
|
||||
adjust_volume() {
|
||||
[[ $(pamixer --get-mute) == true ]] && pamixer -u
|
||||
pamixer --allow-boost --set-limit 150 "$1" "$2" && get_icon && notify_user
|
||||
}
|
||||
|
||||
# Toggle Mute
|
||||
toggle_mute() {
|
||||
if [[ $(pamixer --get-mute) == false ]]; then
|
||||
pamixer --toggle-mute
|
||||
get_icon
|
||||
message="Mute"
|
||||
else
|
||||
pamixer --toggle-mute
|
||||
get_icon
|
||||
message="Unmute"
|
||||
fi
|
||||
${notify_cmd} -i "$icon" "$message"
|
||||
}
|
||||
|
||||
# Execute accordingly
|
||||
if command -v pamixer &>/dev/null; then
|
||||
case "$1" in
|
||||
--get) get_volume ;;
|
||||
--inc) adjust_volume -i 5 ;;
|
||||
--dec) adjust_volume -d 5 ;;
|
||||
--toggle) toggle_mute ;;
|
||||
*) echo "$(get_volume)%" ;;
|
||||
esac
|
||||
else
|
||||
${notify_cmd} "'pamixer' is not installed."
|
||||
fi
|
Reference in New Issue
Block a user