##################################################################### DEPENDENCIES+=(canberra-gtk-play) REQUIRED_ENV+=() use notify ##################################################################### media.audio.play-sfx() { local SCWRYPTS_NOTIFICATION_ENGINES=(echo notify.desktop) local SFX_FILE case $1 in ( volume ) SFX_FILE=$DESKTOP__SFX_PATH/yaru-message.oga ;; ( mute ) SFX_FILE=$DESKTOP__SFX_PATH/smooth-dialog-warning.oga ;; ( backlight ) SFX_FILE=$DESKTOP__SFX_PATH/yaru-audio-volume-change.oga ;; ( login ) SFX_FILE=$DESKTOP__SFX_PATH/yaru-desktop-login.oga ;; ( logout ) SFX_FILE=$DESKTOP__SFX_PATH/smooth-desktop-login.oga ;; ( notify ) SFX_FILE=$DESKTOP__SFX_PATH/yaru-complete.oga ;; ( undock ) SFX_FILE=$DESKTOP__SFX_PATH/yaru-desktop-login.oga ;; ( homedock ) SFX_FILE=$DESKTOP__SFX_PATH/homedock.oga ;; ( gamedock ) SFX_FILE=$DESKTOP__SFX_PATH/gamedock.oga ;; * ) SFX_FILE="$1" ;; esac [ ! -f $SFX_FILE ] && SFX_FILE="$DESKTOP__SFX_PATH/$SFX_FILE" [ -f $SFX_FILE ] \ && echo.status "detected file '$SFX_FILE'" \ || notify.error "unable to locate sfx file '$1'" \ || return 1 \ ; echo.status 'starting playback' canberra-gtk-play -f "$SFX_FILE" \ && echo.success "finished output of '$SFX_FILE'" \ || notify.error "something went wrong playing file '$SFX_FILE'" \ || return 1 \ ; }