| 
									
										
										
										
											2022-02-06 00:15:14 -07:00
										 |  |  | #!/bin/zsh | 
					
						
							|  |  |  | ##################################################################### | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | USAGE="$0 (next|prev|playpause)" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function ERROR() { | 
					
						
							|  |  |  | 	local ERROR_CODE=$1 | 
					
						
							|  |  |  | 	local MESSAGE="$2" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	echo -e "$MESSAGE\n\nUSAGE : $USAGE\n" >&2 | 
					
						
							|  |  |  | 	notify-send "YouTube media controller" "$MESSAGE" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	exit $ERROR_CODE | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ##################################################################### | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | COMMAND="$1" | 
					
						
							|  |  |  | case $COMMAND in | 
					
						
							| 
									
										
										
										
											2022-02-06 01:08:03 -07:00
										 |  |  | 	next ) COMMAND_KEY='j';; | 
					
						
							|  |  |  | 	prev ) COMMAND_KEY='k';; | 
					
						
							|  |  |  | 	play ) COMMAND_KEY='space';; | 
					
						
							| 
									
										
										
										
											2022-02-06 00:15:14 -07:00
										 |  |  | 	* ) ERROR 1 "unsupported command '$COMMAND'" ;; | 
					
						
							|  |  |  | esac | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | xdotool search --name 'YouTube Music' windowactivate \ | 
					
						
							|  |  |  | 	|| ERROR 2 "YouTube Music is not running" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Chrome / YouTube only accepts keypresses when window is active | 
					
						
							|  |  |  | xdotool search --name 'YouTube Music' windowactivate | 
					
						
							|  |  |  | sleep 0.3 | 
					
						
							|  |  |  | xdotool key --clearmodifiers "$COMMAND_KEY" |