Skip to content

Instantly share code, notes, and snippets.

@omailson
Forked from ngauthier/README.md
Last active December 10, 2015 21:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save omailson/4495115 to your computer and use it in GitHub Desktop.
Save omailson/4495115 to your computer and use it in GitHub Desktop.

I like Rdio and linux. Rdio works great in a browser except for one thing: keyboard shortcuts!!!

When coding, I like to be able to play/pause my music quickly, meaning I don't want to switch windows. I figured out a way to do this:

Google Chrome --app

First, I made a file in my ~/bin called rdio that runs:

google-chrome --app=http://rdio.com

This opens Rdio in its own window, and most importantly, as its own application (kind of).

xdotool

Next, I made a file in my ~/bin called rdio-play-pause. This runs:

xdotool key --window $(xdotool search --name Rdio | head -1) space

This looks up a window with the name "Rdio" and sends the "space" key to it, which is Rdio's keyboard shortcut for play/pause.

Window Manager Keyboard Shortcut

Last, I am on XFCE, so I opened up the settings manager, went to keyboard -> Application Shortcuts. Then I created a shortcut to my rdio-play-pause script bound to XF86AudioPlay which is my keyboard's play/pause media key.

Thanks

Thanks to @IAmAru for suggesting I look into window manager command line tools.

#!/bin/sh
if [ "$#" -eq 0 ]
then
chromium --app=http://rdio.com/
else
case "$1" in
play|pause)
action="space"
;;
next)
action="Right"
;;
previous)
action="Left"
;;
*)
action="space"
;;
esac
xdotool key --window $(xdotool search --name 'Oi Rdio') "$action"
fi
#!/bin/sh
xdotool key --window $(xdotool search --name Rdio | head -1) space
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment