93 lines
2.1 KiB
Lua
93 lines
2.1 KiB
Lua
local icons = require("icons")
|
|
local colors = require("colors").sections.media
|
|
|
|
local whitelist = { ["Spotify"] = true, ["Psst"] = true }
|
|
|
|
local media_playback = sbar.add("item", {
|
|
position = "right",
|
|
icon = {
|
|
string = icons.music,
|
|
color = colors.label,
|
|
padding_left = 8,
|
|
},
|
|
label = {
|
|
max_chars = 50,
|
|
padding_right = 8,
|
|
},
|
|
popup = {
|
|
horizontal = true,
|
|
align = "center",
|
|
y_offset = 2,
|
|
},
|
|
padding_right = 8,
|
|
})
|
|
|
|
sbar.add("item", {
|
|
position = "popup." .. media_playback.name,
|
|
padding_left = 6,
|
|
padding_right = 6,
|
|
icon = { string = icons.media.back },
|
|
label = { drawing = false },
|
|
background = { drawing = false },
|
|
click_script = "nowplaying-cli previous",
|
|
})
|
|
|
|
sbar.add("item", {
|
|
position = "popup." .. media_playback.name,
|
|
padding_left = 6,
|
|
padding_right = 6,
|
|
icon = { string = icons.media.play_pause },
|
|
label = { drawing = false },
|
|
background = { drawing = false },
|
|
click_script = "nowplaying-cli togglePlayPause",
|
|
})
|
|
|
|
sbar.add("item", {
|
|
position = "popup." .. media_playback.name,
|
|
padding_left = 6,
|
|
padding_right = 6,
|
|
icon = { string = icons.media.forward },
|
|
label = { drawing = false },
|
|
background = { drawing = false },
|
|
click_script = "nowplaying-cli next",
|
|
})
|
|
|
|
media_playback:subscribe("media_change", function(env)
|
|
if whitelist[env.INFO.app] then
|
|
local is_playing = (env.INFO.state == "playing")
|
|
media_playback:set {
|
|
drawing = is_playing,
|
|
label = {
|
|
string = env.INFO.artist .. " - " .. env.INFO.title,
|
|
padding_left = is_playing and 8 or 0,
|
|
},
|
|
}
|
|
end
|
|
end)
|
|
|
|
media_playback:subscribe("mouse.clicked", function(_)
|
|
sbar.animate("tanh", 8, function()
|
|
media_playback:set {
|
|
background = {
|
|
shadow = {
|
|
distance = 0,
|
|
},
|
|
},
|
|
y_offset = -4,
|
|
padding_left = 8,
|
|
padding_right = 4,
|
|
}
|
|
media_playback:set {
|
|
background = {
|
|
shadow = {
|
|
distance = 4,
|
|
},
|
|
},
|
|
y_offset = 0,
|
|
padding_left = 4,
|
|
padding_right = 8,
|
|
}
|
|
end)
|
|
media_playback:set { popup = { drawing = "toggle" } }
|
|
end)
|