diff options
author | Pete Johns <johnsyweb@users.noreply.github.com> | 2019-05-28 02:22:07 +1000 |
---|---|---|
committer | Marc Cornellà <marc.cornella@live.com> | 2019-05-27 18:22:07 +0200 |
commit | 7f66a070a4be1ae797151e761f9eaaf3ef8549a8 (patch) | |
tree | 47544e21a9c175e7973fb213f5891335efdf6db7 /plugins/osx | |
parent | 1343ab67edd8a81b75aceca77ddb526be87a20c1 (diff) | |
download | zsh-7f66a070a4be1ae797151e761f9eaaf3ef8549a8.tar.gz zsh-7f66a070a4be1ae797151e761f9eaaf3ef8549a8.tar.bz2 zsh-7f66a070a4be1ae797151e761f9eaaf3ef8549a8.zip |
osx: add more arguments to `itunes vol` command (#7845)
- Get the iTunes volume without an argument
- Shift up / down iTunes volume
Diffstat (limited to 'plugins/osx')
-rw-r--r-- | plugins/osx/osx.plugin.zsh | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh index 7deed0ba6..eb3c4fb7a 100644 --- a/plugins/osx/osx.plugin.zsh +++ b/plugins/osx/osx.plugin.zsh @@ -236,7 +236,19 @@ function itunes() { opt="$opt track" ;; vol) - opt="set sound volume to $1" #$1 Due to the shift + local new_volume volume=$(osascript -e 'tell application "iTunes" to get sound volume') + if [[ $# -eq 0 ]]; then + echo "Current volume is ${volume}." + return 0 + fi + case $1 in + up) new_volume=$((volume + 10 < 100 ? volume + 10 : 100)) ;; + down) new_volume=$((volume - 10 > 0 ? volume - 10 : 0)) ;; + <0-100>) new_volume=$1 ;; + *) echo "'$1' is not valid. Expected <0-100>, up or down." + return 1 ;; + esac + opt="set sound volume to ${new_volume}" ;; playlist) # Inspired by: https://gist.github.com/nakajijapan/ac8b45371064ae98ea7f @@ -299,7 +311,7 @@ EOF echo "\tmute|unmute\tcontrol volume set" echo "\tnext|previous\tplay next or previous track" echo "\tshuf|shuffle [on|off|toggle]\tSet shuffled playback. Default: toggle. Note: toggle doesn't support the MiniPlayer." - echo "\tvol\tSet the volume, takes an argument from 0 to 100" + echo "\tvol [0-100|up|down]\tGet or set the volume. 0 to 100 sets the volume. 'up' / 'down' increases / decreases by 10 points. No argument displays current volume." echo "\tplaying|status\tShow what song is currently playing in iTunes." echo "\tplaylist [playlist name]\t Play specific playlist" echo "\thelp\tshow this message and exit" |