mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-02-13 05:59:46 +08:00
Compare commits
No commits in common. "38ef5192cb1c43159b516d15ab8fed96f847b36b" and "b07c8cfe692bc6c7702f0aef5d493b12dfb43392" have entirely different histories.
38ef5192cb
...
b07c8cfe69
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
function spotify() {
|
function spotify() {
|
||||||
# Copyright (c) 2012--2023 Harish Narayanan <mail@harishnarayanan.org>
|
# Copyright (c) 2012--2019 Harish Narayanan <mail@harishnarayanan.org>
|
||||||
#
|
#
|
||||||
# Contains numerous helpful contributions from Jorge Colindres, Thomas
|
# Contains numerous helpful contributions from Jorge Colindres, Thomas
|
||||||
# Pritchard, iLan Epstein, Gabriele Bonetti, Sean Heller, Eric Martin
|
# Pritchard, iLan Epstein, Gabriele Bonetti, Sean Heller, Eric Martin
|
||||||
@ -35,9 +35,6 @@ if ! [[ -f "${USER_CONFIG_FILE}" ]]; then
|
|||||||
fi
|
fi
|
||||||
source "${USER_CONFIG_FILE}";
|
source "${USER_CONFIG_FILE}";
|
||||||
|
|
||||||
# Set the percent change in volume for vol up and vol down
|
|
||||||
VOL_INCREMENT=10
|
|
||||||
|
|
||||||
showAPIHelp() {
|
showAPIHelp() {
|
||||||
echo;
|
echo;
|
||||||
echo "Connecting to Spotify's API:";
|
echo "Connecting to Spotify's API:";
|
||||||
@ -173,12 +170,12 @@ while [ $# -gt 0 ]; do
|
|||||||
if [ -z "${CLIENT_ID}" ]; then
|
if [ -z "${CLIENT_ID}" ]; then
|
||||||
cecho "Invalid Client ID, please update ${USER_CONFIG_FILE}";
|
cecho "Invalid Client ID, please update ${USER_CONFIG_FILE}";
|
||||||
showAPIHelp;
|
showAPIHelp;
|
||||||
return 1;
|
return 1
|
||||||
fi
|
fi
|
||||||
if [ -z "${CLIENT_SECRET}" ]; then
|
if [ -z "${CLIENT_SECRET}" ]; then
|
||||||
cecho "Invalid Client Secret, please update ${USER_CONFIG_FILE}";
|
cecho "Invalid Client Secret, please update ${USER_CONFIG_FILE}";
|
||||||
showAPIHelp;
|
showAPIHelp;
|
||||||
return 1;
|
return 1
|
||||||
fi
|
fi
|
||||||
SHPOTIFY_CREDENTIALS=$(printf "${CLIENT_ID}:${CLIENT_SECRET}" | base64 | tr -d "\n"|tr -d '\r');
|
SHPOTIFY_CREDENTIALS=$(printf "${CLIENT_ID}:${CLIENT_SECRET}" | base64 | tr -d "\n"|tr -d '\r');
|
||||||
SPOTIFY_PLAY_URI="";
|
SPOTIFY_PLAY_URI="";
|
||||||
@ -201,7 +198,7 @@ while [ $# -gt 0 ]; do
|
|||||||
fi
|
fi
|
||||||
SPOTIFY_ACCESS_TOKEN=$( \
|
SPOTIFY_ACCESS_TOKEN=$( \
|
||||||
printf "${SPOTIFY_TOKEN_RESPONSE_DATA}" \
|
printf "${SPOTIFY_TOKEN_RESPONSE_DATA}" \
|
||||||
| command grep -E -o '"access_token":".*",' \
|
| grep -E -o '"access_token":".*",' \
|
||||||
| sed 's/"access_token"://g' \
|
| sed 's/"access_token"://g' \
|
||||||
| sed 's/"//g' \
|
| sed 's/"//g' \
|
||||||
| sed 's/,.*//g' \
|
| sed 's/,.*//g' \
|
||||||
@ -222,8 +219,9 @@ while [ $# -gt 0 ]; do
|
|||||||
-H "Accept: application/json" \
|
-H "Accept: application/json" \
|
||||||
--data-urlencode "q=$Q" \
|
--data-urlencode "q=$Q" \
|
||||||
-d "type=$type&limit=1&offset=0" \
|
-d "type=$type&limit=1&offset=0" \
|
||||||
| command grep -E -o "spotify:$type:[a-zA-Z0-9]+" -m 1
|
| grep -E -o "spotify:$type:[a-zA-Z0-9]+" -m 1
|
||||||
)
|
)
|
||||||
|
echo "play uri: ${SPOTIFY_PLAY_URI}"
|
||||||
}
|
}
|
||||||
|
|
||||||
case $2 in
|
case $2 in
|
||||||
@ -237,11 +235,11 @@ while [ $# -gt 0 ]; do
|
|||||||
|
|
||||||
results=$( \
|
results=$( \
|
||||||
curl -s -G $SPOTIFY_SEARCH_API --data-urlencode "q=$Q" -d "type=playlist&limit=10&offset=0" -H "Accept: application/json" -H "Authorization: Bearer ${SPOTIFY_ACCESS_TOKEN}" \
|
curl -s -G $SPOTIFY_SEARCH_API --data-urlencode "q=$Q" -d "type=playlist&limit=10&offset=0" -H "Accept: application/json" -H "Authorization: Bearer ${SPOTIFY_ACCESS_TOKEN}" \
|
||||||
| command grep -E -o "spotify:playlist:[a-zA-Z0-9]+" -m 10 \
|
| grep -E -o "spotify:playlist:[a-zA-Z0-9]+" -m 10 \
|
||||||
)
|
)
|
||||||
|
|
||||||
count=$( \
|
count=$( \
|
||||||
echo "$results" | command grep -c "spotify:playlist" \
|
echo "$results" | grep -c "spotify:playlist" \
|
||||||
)
|
)
|
||||||
|
|
||||||
if [ "$count" -gt 0 ]; then
|
if [ "$count" -gt 0 ]; then
|
||||||
@ -335,16 +333,16 @@ while [ $# -gt 0 ]; do
|
|||||||
cecho "Current Spotify volume level is $vol.";
|
cecho "Current Spotify volume level is $vol.";
|
||||||
break ;
|
break ;
|
||||||
elif [ "$2" = "up" ]; then
|
elif [ "$2" = "up" ]; then
|
||||||
if [ $vol -le $(( 100-$VOL_INCREMENT )) ]; then
|
if [ $vol -le 90 ]; then
|
||||||
newvol=$(( vol+$VOL_INCREMENT ));
|
newvol=$(( vol+10 ));
|
||||||
cecho "Increasing Spotify volume to $newvol.";
|
cecho "Increasing Spotify volume to $newvol.";
|
||||||
else
|
else
|
||||||
newvol=100;
|
newvol=100;
|
||||||
cecho "Spotify volume level is at max.";
|
cecho "Spotify volume level is at max.";
|
||||||
fi
|
fi
|
||||||
elif [ "$2" = "down" ]; then
|
elif [ "$2" = "down" ]; then
|
||||||
if [ $vol -ge $(( $VOL_INCREMENT )) ]; then
|
if [ $vol -ge 10 ]; then
|
||||||
newvol=$(( vol-$VOL_INCREMENT ));
|
newvol=$(( vol-10 ));
|
||||||
cecho "Reducing Spotify volume to $newvol.";
|
cecho "Reducing Spotify volume to $newvol.";
|
||||||
else
|
else
|
||||||
newvol=0;
|
newvol=0;
|
||||||
@ -356,11 +354,11 @@ while [ $# -gt 0 ]; do
|
|||||||
else
|
else
|
||||||
echo "Improper use of 'vol' command"
|
echo "Improper use of 'vol' command"
|
||||||
echo "The 'vol' command should be used as follows:"
|
echo "The 'vol' command should be used as follows:"
|
||||||
echo " vol up # Increases the volume by $VOL_INCREMENT%.";
|
echo " vol up # Increases the volume by 10%.";
|
||||||
echo " vol down # Decreases the volume by $VOL_INCREMENT%.";
|
echo " vol down # Decreases the volume by 10%.";
|
||||||
echo " vol [amount] # Sets the volume to an amount between 0 and 100.";
|
echo " vol [amount] # Sets the volume to an amount between 0 and 100.";
|
||||||
echo " vol # Shows the current Spotify volume.";
|
echo " vol # Shows the current Spotify volume.";
|
||||||
return 1;
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
osascript -e "tell application \"Spotify\" to set sound volume to $newvol";
|
osascript -e "tell application \"Spotify\" to set sound volume to $newvol";
|
||||||
@ -470,9 +468,10 @@ while [ $# -gt 0 ]; do
|
|||||||
"help" )
|
"help" )
|
||||||
showHelp;
|
showHelp;
|
||||||
break ;;
|
break ;;
|
||||||
|
|
||||||
* )
|
* )
|
||||||
showHelp;
|
showHelp;
|
||||||
return 1;
|
return 1 ;;
|
||||||
|
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|||||||
@ -51,14 +51,8 @@ function ssh_connection() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function _toolbox_prompt_info() {
|
|
||||||
if typeset -f toolbox_prompt_info > /dev/null; then
|
|
||||||
toolbox_prompt_info
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
local ret_status="%(?:%{$fg_bold[green]%}:%{$fg_bold[red]%})%?%{$reset_color%}"
|
local ret_status="%(?:%{$fg_bold[green]%}:%{$fg_bold[red]%})%?%{$reset_color%}"
|
||||||
PROMPT=$'\n$(_toolbox_prompt_info)$(ssh_connection)%{$fg_bold[green]%}%n@%m%{$reset_color%}$(my_git_prompt) : %~\n[${ret_status}] %# '
|
PROMPT=$'\n$(ssh_connection)%{$fg_bold[green]%}%n@%m%{$reset_color%}$(my_git_prompt) : %~\n[${ret_status}] %# '
|
||||||
|
|
||||||
ZSH_THEME_PROMPT_RETURNCODE_PREFIX="%{$fg_bold[red]%}"
|
ZSH_THEME_PROMPT_RETURNCODE_PREFIX="%{$fg_bold[red]%}"
|
||||||
ZSH_THEME_GIT_PROMPT_PREFIX=" $fg[white]‹ %{$fg_bold[yellow]%}"
|
ZSH_THEME_GIT_PROMPT_PREFIX=" $fg[white]‹ %{$fg_bold[yellow]%}"
|
||||||
|
|||||||
@ -1,24 +0,0 @@
|
|||||||
# Depends on the git plugin for work_in_progress()
|
|
||||||
(( $+functions[work_in_progress] )) || work_in_progress() {}
|
|
||||||
|
|
||||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$reset_color%}%{$fg[green]%}["
|
|
||||||
ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%}"
|
|
||||||
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}*%{$reset_color%}"
|
|
||||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
|
||||||
|
|
||||||
# Customized git status, oh-my-zsh currently does not allow render dirty status before branch
|
|
||||||
git_custom_status() {
|
|
||||||
local branch=$(git_current_branch)
|
|
||||||
[[ -n "$branch" ]] || return 0
|
|
||||||
echo "$(parse_git_dirty)\
|
|
||||||
%{${fg_bold[yellow]}%}$(work_in_progress)%{$reset_color%}\
|
|
||||||
${ZSH_THEME_GIT_PROMPT_PREFIX}${branch}${ZSH_THEME_GIT_PROMPT_SUFFIX}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# RVM component of prompt
|
|
||||||
ZSH_THEME_RUBY_PROMPT_PREFIX="%{$fg[red]%}["
|
|
||||||
ZSH_THEME_RUBY_PROMPT_SUFFIX="]%{$reset_color%}"
|
|
||||||
|
|
||||||
# Combine it all into a final right-side prompt
|
|
||||||
RPS1="\$(git_custom_status)\$(ruby_prompt_info)${RPS1:+ $RPS1}"
|
|
||||||
PROMPT='%{$fg[cyan]%}[%~% ]%(?.%{$fg[green]%}.%{$fg[red]%})%B$%b '
|
|
||||||
Loading…
Reference in New Issue
Block a user