Improve UX for Spotify quit command in osx plugin (#5726)

* Improve UX for Spotify commands in osx plugin

Spotify command UX is a bit weak for people who live and work almost entirely in shells.
- `spotify quit` should not open Spotify if it is not already running. Should confirm that Spotify is indeed not running.
- `spotify quit` should not blow away the user's shell once Spotify is quit. This can be a disruption to work flow.

This PR looks to add a few little checks which will help improve this experience.
This PR also adds a space to line 477 between `break` and `;;` for consistency. Doesn't seem like a big enough change to put in its own PR.

* Rearranging output as per peer feedback

* osx plugin's spotify: change quitting w/ closing

Closing is more idiomatic English.
This commit is contained in:
Ryan Brushett 2016-12-30 14:29:17 -03:30 committed by Marc Cornellà
parent 9dab3c6718
commit ff5629e60b

View file

@ -323,7 +323,7 @@ function spotify() {
if [ $# = 0 ]; then if [ $# = 0 ]; then
showHelp; showHelp;
else else
if [ "$(osascript -e 'application "Spotify" is running')" = "false" ]; then if [ "$1" != "quit" ] && [ "$(osascript -e 'application "Spotify" is running')" = "false" ]; then
osascript -e 'tell application "Spotify" to activate' osascript -e 'tell application "Spotify" to activate'
sleep 2 sleep 2
fi fi
@ -413,9 +413,13 @@ function spotify() {
break ;; break ;;
"quit" ) "quit" )
cecho "Quitting Spotify."; if [ "$(osascript -e 'application "Spotify" is running')" = "false" ]; then
osascript -e 'tell application "Spotify" to quit'; cecho "Spotify was not running."
exit 1 ;; else
cecho "Closing Spotify.";
osascript -e 'tell application "Spotify" to quit';
fi
break ;;
"next" ) "next" )
cecho "Going to next track." ; cecho "Going to next track." ;
@ -470,7 +474,7 @@ function spotify() {
"pos" ) "pos" )
cecho "Adjusting Spotify play position." cecho "Adjusting Spotify play position."
osascript -e "tell application \"Spotify\" to set player position to $2"; osascript -e "tell application \"Spotify\" to set player position to $2";
break;; break ;;
"status" ) "status" )
showStatus; showStatus;