2013-11-01 15:27:20 +01:00
|
|
|
-- Drive spotify
|
|
|
|
|
2013-11-01 15:56:21 +01:00
|
|
|
-- Spotify uses the MPRIS D-BUS interface. See more information here:
|
|
|
|
-- http://specifications.freedesktop.org/mpris-spec/latest/
|
|
|
|
|
|
|
|
-- To get the complete interface:
|
|
|
|
-- mdbus2 org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2
|
|
|
|
|
2013-11-01 15:27:20 +01:00
|
|
|
local awful = require("awful")
|
|
|
|
|
|
|
|
module("vbe/spotify")
|
|
|
|
|
|
|
|
-- Send a command to spotify
|
|
|
|
local function spotify(command)
|
|
|
|
awful.util.spawn("dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify " ..
|
|
|
|
"/org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player." .. command, false)
|
|
|
|
end
|
|
|
|
|
|
|
|
function playpause()
|
|
|
|
spotify("PlayPause")
|
|
|
|
end
|
|
|
|
|
|
|
|
function play()
|
2013-11-01 15:48:07 +01:00
|
|
|
-- Play seems unable to play in many situations, let's use
|
|
|
|
-- PlayPause instead.
|
|
|
|
spotify("PlayPause")
|
2013-11-01 15:27:20 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
function pause()
|
|
|
|
spotify("Pause")
|
|
|
|
end
|
|
|
|
|
|
|
|
function stop()
|
|
|
|
spotify("Stop")
|
|
|
|
end
|
|
|
|
|
|
|
|
function next()
|
|
|
|
spotify("Next")
|
|
|
|
end
|
|
|
|
|
|
|
|
function previous()
|
|
|
|
spotify("Previous")
|
|
|
|
end
|
2013-11-01 15:53:35 +01:00
|
|
|
|
|
|
|
function show()
|
|
|
|
-- This should work, but no:
|
|
|
|
-- spotify("Raise")
|
|
|
|
awful.util.spawn("spotify")
|
|
|
|
end
|