4 changed files with 83 additions and 2 deletions
@ -0,0 +1,65 @@ |
|||||||
|
#!/bin/bash |
||||||
|
## /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ## |
||||||
|
# This script is used to play system sounds. |
||||||
|
|
||||||
|
theme="freedesktop" # Set the theme for the system sounds. |
||||||
|
mute=false # Set to true to mute the system sounds. |
||||||
|
|
||||||
|
# Mute individual sounds here. |
||||||
|
muteScreenshots=false |
||||||
|
muteVolume=false |
||||||
|
|
||||||
|
# Exit if the system sounds are muted. |
||||||
|
if [[ "$mute" = true ]]; then |
||||||
|
exit 0 |
||||||
|
fi |
||||||
|
|
||||||
|
# Choose the sound to play. |
||||||
|
if [[ "$1" == "--screenshot" ]]; then |
||||||
|
if [[ "$muteScreenshots" = true ]]; then |
||||||
|
exit 0 |
||||||
|
fi |
||||||
|
soundoption="screen-capture.*" |
||||||
|
elif [[ "$1" == "--volume" ]]; then |
||||||
|
if [[ "$muteVolume" = true ]]; then |
||||||
|
exit 0 |
||||||
|
fi |
||||||
|
soundoption="audio-volume-change.*" |
||||||
|
else |
||||||
|
echo -e "Available sounds: --screenshot, --volume" |
||||||
|
exit 0 |
||||||
|
fi |
||||||
|
|
||||||
|
# Set the directory defaults for system sounds. |
||||||
|
userDIR="$HOME/.local/share/sounds" |
||||||
|
systemDIR="/usr/share/sounds" |
||||||
|
defaultTheme="freedesktop" |
||||||
|
|
||||||
|
# Prefer the user's theme, but use the system's if it doesn't exist. |
||||||
|
sDIR="$systemDIR/$defaultTheme" |
||||||
|
if [ -d "$userDIR/$theme" ]; then |
||||||
|
sDIR="$userDIR/$theme" |
||||||
|
elif [ -d "$systemDIR/$theme" ]; then |
||||||
|
sDIR="$systemDIR/$theme" |
||||||
|
fi |
||||||
|
|
||||||
|
# Get the theme that it inherits. |
||||||
|
iTheme=$(cat "$sDIR/index.theme" | grep -i "inherits" | cut -d "=" -f 2) |
||||||
|
iDIR="$sDIR/../$iTheme" |
||||||
|
|
||||||
|
# Find the sound file and play it. |
||||||
|
sound_file=$(find $sDIR/stereo -name "$soundoption" -print -quit) |
||||||
|
if ! test -f "$sound_file"; then |
||||||
|
sound_file=$(find $iDIR/stereo -name "$soundoption" -print -quit) |
||||||
|
if ! test -f "$sound_file"; then |
||||||
|
sound_file=$(find $userDIR/$defaultTheme/stereo -name "$soundoption" -print -quit) |
||||||
|
if ! test -f "$sound_file"; then |
||||||
|
sound_file=$(find $systemDIR/$defaultTheme/stereo -name "$soundoption" -print -quit) |
||||||
|
if ! test -f "$sound_file"; then |
||||||
|
echo "Error: Sound file not found." |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
fi |
||||||
|
fi |
||||||
|
fi |
||||||
|
pw-play "$sound_file" |
||||||
Loading…
Reference in new issue