forked from ashpie/simple-awesome
54 lines
1.2 KiB
Lua
54 lines
1.2 KiB
Lua
-- Control playing music/media and sound volume
|
|
-- Currently supports :
|
|
-- - playerctl
|
|
-- - Spotify
|
|
|
|
-- DEBUG
|
|
local inspect = require("debug/inspect")
|
|
|
|
local awful = require("awful")
|
|
local naughty = require("naughty")
|
|
|
|
local hasPlayerctl = os.execute("playerctl -v") == true
|
|
|
|
-- playerctl
|
|
function sendToPlayerctl(command)
|
|
os.execute("playerctl " .. command)
|
|
end
|
|
|
|
-- Spotify
|
|
function sendToSpotify(command)
|
|
awful.util.spawn_with_shell("dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player." .. command)
|
|
end
|
|
|
|
-- {{{ Control
|
|
local playPause = function()
|
|
if hasPlayerctl then
|
|
sendToPlayerctl("play-pause")
|
|
else
|
|
sendToSpotify("PlayPause")
|
|
end
|
|
end
|
|
|
|
local nextTrack = function()
|
|
if hasPlayerctl then
|
|
sendToPlayerctl("next")
|
|
else
|
|
sendToSpotify("Next")
|
|
end
|
|
end
|
|
|
|
local previousTrack = function()
|
|
if hasPlayerctl then
|
|
sendToPlayerctl("previous")
|
|
else
|
|
sendToSpotify("Previous")
|
|
end
|
|
end
|
|
-- }}}
|
|
|
|
return {
|
|
playPause = playPause,
|
|
nextTrack = nextTrack,
|
|
previousTrack = previousTrack
|
|
} |