summaryrefslogtreecommitdiff
path: root/plugins/osx
diff options
context:
space:
mode:
authorPete Johns <johnsyweb@users.noreply.github.com>2019-05-28 02:22:07 +1000
committerMarc Cornellà <marc.cornella@live.com>2019-05-27 18:22:07 +0200
commit7f66a070a4be1ae797151e761f9eaaf3ef8549a8 (patch)
tree47544e21a9c175e7973fb213f5891335efdf6db7 /plugins/osx
parent1343ab67edd8a81b75aceca77ddb526be87a20c1 (diff)
downloadzsh-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.zsh16
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"