mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2025-12-05 01:46:46 +01:00
fix(macos): fix music shuffle
This commit is contained in:
parent
853680fd62
commit
ada3923363
1 changed files with 15 additions and 12 deletions
|
|
@ -72,11 +72,6 @@ EOF
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
shuf|shuff|shuffle)
|
shuf|shuff|shuffle)
|
||||||
# The shuffle property of current playlist can't be changed in iTunes 12,
|
|
||||||
# so this workaround uses AppleScript to simulate user input instead.
|
|
||||||
# Defaults to toggling when no options are given.
|
|
||||||
# The toggle option depends on the shuffle button being visible in the Now playing area.
|
|
||||||
# On and off use the menu bar items.
|
|
||||||
local state=$1
|
local state=$1
|
||||||
|
|
||||||
if [[ -n "$state" && "$state" != (on|off|toggle) ]]; then
|
if [[ -n "$state" && "$state" != (on|off|toggle) ]]; then
|
||||||
|
|
@ -85,16 +80,24 @@ EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case "$state" in
|
case "$state" in
|
||||||
on|off)
|
# Inspired by: https://stackoverflow.com/a/43942013/2396771
|
||||||
# Inspired by: https://stackoverflow.com/a/14675583
|
on)
|
||||||
osascript >/dev/null 2>&1 <<EOF
|
osascript -e "tell application \"$APP_NAME\" to set shuffle enabled to true";
|
||||||
tell application "System Events" to perform action "AXPress" of (menu item "${state}" of menu "Shuffle" of menu item "Shuffle" of menu "Controls" of menu bar item "Controls" of menu bar 1 of application process "iTunes" )
|
return 0
|
||||||
EOF
|
;;
|
||||||
|
off)
|
||||||
|
osascript -e "tell application \"$APP_NAME\" to set shuffle enabled to false";
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
toggle|*)
|
toggle|*)
|
||||||
osascript >/dev/null 2>&1 <<EOF
|
osascript 2>/dev/null <<EOF
|
||||||
tell application "System Events" to perform action "AXPress" of (button 2 of process "iTunes"'s window "iTunes"'s scroll area 1)
|
tell application "$APP_NAME"
|
||||||
|
if shuffle enabled then
|
||||||
|
set shuffle enabled to false
|
||||||
|
else
|
||||||
|
set shuffle enabled to true
|
||||||
|
end
|
||||||
|
end tell
|
||||||
EOF
|
EOF
|
||||||
return 0
|
return 0
|
||||||
;;
|
;;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue