Files
.circleci
.docker
bin
altaria
bg-apps
butterfree
umbreon
backlight
get-colorscheme-hex
i3-logout
i3-utils
i3lock
kitty-alternate-theme
media
play-sound
pulseaudio
scwrypts
set-background
update-all-servers
vim
xorg-activate-default
colorschemes
config
resume
setup
vim
zsh
.gitattributes
.gitignore
.gitmodules
README.md
dotwryn/bin/media

34 lines
804 B
Bash
Executable File

#!/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
next ) COMMAND_KEY='j';;
prev ) COMMAND_KEY='k';;
play ) COMMAND_KEY='space';;
* ) 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"