agsdotfilesdotshyprlandhyprland-configricerofirofi-configshell-scriptsswwwwallustwaybarwaybar-modulewaybar-themes
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
143 lines
3.6 KiB
143 lines
3.6 KiB
#!/bin/bash |
|
# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## |
|
# Scripts for volume controls for audio and mic |
|
|
|
iDIR="$HOME/.config/swaync/icons" |
|
sDIR="$HOME/.config/hypr/scripts" |
|
|
|
# Get Volume |
|
get_volume() { |
|
volume=$(pamixer --get-volume) |
|
if [[ "$volume" -eq "0" ]]; then |
|
echo "Muted" |
|
else |
|
echo "$volume%" |
|
fi |
|
} |
|
|
|
# Get icons |
|
get_icon() { |
|
current=$(get_volume) |
|
if [[ "$current" == "Muted" ]]; then |
|
echo "$iDIR/volume-mute.png" |
|
elif [[ "${current%\%}" -le 30 ]]; then |
|
echo "$iDIR/volume-low.png" |
|
elif [[ "${current%\%}" -le 60 ]]; then |
|
echo "$iDIR/volume-mid.png" |
|
else |
|
echo "$iDIR/volume-high.png" |
|
fi |
|
} |
|
|
|
# Notify |
|
notify_user() { |
|
if [[ "$(get_volume)" == "Muted" ]]; then |
|
notify-send -e -h string:x-canonical-private-synchronous:volume_notif -u low -i "$(get_icon)" "Volume: Muted" |
|
else |
|
notify-send -e -h int:value:"$(get_volume | sed 's/%//')" -h string:x-canonical-private-synchronous:volume_notif -u low -i "$(get_icon)" "Volume: $(get_volume)" |
|
"$sDIR/Sounds.sh" --volume |
|
fi |
|
} |
|
|
|
# Increase Volume |
|
inc_volume() { |
|
if [ "$(pamixer --get-mute)" == "true" ]; then |
|
toggle_mute |
|
else |
|
pamixer -i 5 --allow-boost --set-limit 150 && notify_user |
|
fi |
|
} |
|
|
|
# Decrease Volume |
|
dec_volume() { |
|
if [ "$(pamixer --get-mute)" == "true" ]; then |
|
toggle_mute |
|
else |
|
pamixer -d 5 && notify_user |
|
fi |
|
} |
|
|
|
# Toggle Mute |
|
toggle_mute() { |
|
if [ "$(pamixer --get-mute)" == "false" ]; then |
|
pamixer -m && notify-send -e -u low -i "$iDIR/volume-mute.png" "Volume Switched OFF" |
|
elif [ "$(pamixer --get-mute)" == "true" ]; then |
|
pamixer -u && notify-send -e -u low -i "$(get_icon)" "Volume Switched ON" |
|
fi |
|
} |
|
|
|
# Toggle Mic |
|
toggle_mic() { |
|
if [ "$(pamixer --default-source --get-mute)" == "false" ]; then |
|
pamixer --default-source -m && notify-send -e -u low -i "$iDIR/microphone-mute.png" "Microphone Switched OFF" |
|
elif [ "$(pamixer --default-source --get-mute)" == "true" ]; then |
|
pamixer -u --default-source u && notify-send -e -u low -i "$iDIR/microphone.png" "Microphone Switched ON" |
|
fi |
|
} |
|
# Get Mic Icon |
|
get_mic_icon() { |
|
current=$(pamixer --default-source --get-volume) |
|
if [[ "$current" -eq "0" ]]; then |
|
echo "$iDIR/microphone-mute.png" |
|
else |
|
echo "$iDIR/microphone.png" |
|
fi |
|
} |
|
|
|
# Get Microphone Volume |
|
get_mic_volume() { |
|
volume=$(pamixer --default-source --get-volume) |
|
if [[ "$volume" -eq "0" ]]; then |
|
echo "Muted" |
|
else |
|
echo "$volume%" |
|
fi |
|
} |
|
|
|
# Notify for Microphone |
|
notify_mic_user() { |
|
volume=$(get_mic_volume) |
|
icon=$(get_mic_icon) |
|
notify-send -e -h int:value:"$volume" -h "string:x-canonical-private-synchronous:volume_notif" -u low -i "$icon" "Mic-Level: $volume" |
|
} |
|
|
|
# Increase MIC Volume |
|
inc_mic_volume() { |
|
if [ "$(pamixer --default-source --get-mute)" == "true" ]; then |
|
toggle_mic |
|
else |
|
pamixer --default-source -i 5 && notify_mic_user |
|
fi |
|
} |
|
|
|
# Decrease MIC Volume |
|
dec_mic_volume() { |
|
if [ "$(pamixer --default-source --get-mute)" == "true" ]; then |
|
toggle-mic |
|
else |
|
pamixer --default-source -d 5 && notify_mic_user |
|
fi |
|
} |
|
|
|
# Execute accordingly |
|
if [[ "$1" == "--get" ]]; then |
|
get_volume |
|
elif [[ "$1" == "--inc" ]]; then |
|
inc_volume |
|
elif [[ "$1" == "--dec" ]]; then |
|
dec_volume |
|
elif [[ "$1" == "--toggle" ]]; then |
|
toggle_mute |
|
elif [[ "$1" == "--toggle-mic" ]]; then |
|
toggle_mic |
|
elif [[ "$1" == "--get-icon" ]]; then |
|
get_icon |
|
elif [[ "$1" == "--get-mic-icon" ]]; then |
|
get_mic_icon |
|
elif [[ "$1" == "--mic-inc" ]]; then |
|
inc_mic_volume |
|
elif [[ "$1" == "--mic-dec" ]]; then |
|
dec_mic_volume |
|
else |
|
get_volume |
|
fi
|
|
|