mirror of https://github.com/lcpz/lain.git
gpmdp: some fixe + added wiki; #206
This commit is contained in:
parent
202ab106d5
commit
53b782f7c1
|
@ -1,20 +1,18 @@
|
||||||
|
|
||||||
--[[
|
--[[
|
||||||
|
|
||||||
Licensed under GNU General Public License v2
|
Licensed under GNU General Public License v2
|
||||||
* (c) 2016, Alexandre Terrien
|
* (c) 2016, Alexandre Terrien
|
||||||
|
|
||||||
--]]
|
--]]
|
||||||
|
|
||||||
local helpers = require("lain.helpers")
|
local helpers = require("lain.helpers")
|
||||||
local json = require("lain.util.dkjson")
|
local json = require("lain.util.dkjson")
|
||||||
|
local pread = require("awful.util").pread
|
||||||
local pread = require("awful.util").pread
|
local naughty = require("naughty")
|
||||||
|
local wibox = require("wibox")
|
||||||
local naughty = require("naughty")
|
local mouse = mouse
|
||||||
local wibox = require("wibox")
|
local os = { getenv = os.getenv }
|
||||||
|
|
||||||
local mouse = mouse
|
|
||||||
|
|
||||||
local setmetatable = setmetatable
|
local setmetatable = setmetatable
|
||||||
|
|
||||||
|
@ -28,7 +26,7 @@ local function worker(args)
|
||||||
local notify = args.notify or "off"
|
local notify = args.notify or "off"
|
||||||
local followmouse = args.followmouse or false
|
local followmouse = args.followmouse or false
|
||||||
local file_location = args.file_location or
|
local file_location = args.file_location or
|
||||||
os.getenv("HOME") .. "/.config/Google Play Music Desktop Player/json_store/playback.json"
|
os.getenv("HOME") .. "/.config/Google Play Music Desktop Player/json_store/playback.json"
|
||||||
local settings = args.settings or function() end
|
local settings = args.settings or function() end
|
||||||
|
|
||||||
gpmdp.widget = wibox.widget.textbox('')
|
gpmdp.widget = wibox.widget.textbox('')
|
||||||
|
@ -38,48 +36,40 @@ local function worker(args)
|
||||||
timeout = 6
|
timeout = 6
|
||||||
}
|
}
|
||||||
|
|
||||||
helpers.set_map("gpmpd_current", nil)
|
helpers.set_map("gpmdp_current", nil)
|
||||||
|
|
||||||
function gpmdp.update()
|
function gpmdp.update()
|
||||||
file, err = io.open(file_location, "r")
|
file, err = io.open(file_location, "r")
|
||||||
if not file
|
if not file
|
||||||
then
|
then
|
||||||
gpm_now = {
|
gpm_now = { running = false, playing = false }
|
||||||
running = false,
|
|
||||||
playing = false
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
dict, pos, err = json.decode(file:read "*a", 1, nil)
|
dict, pos, err = json.decode(file:read "*a", 1, nil)
|
||||||
file:close()
|
file:close()
|
||||||
gpm_now = {}
|
gpm_now = {}
|
||||||
gpm_now.artist = dict.song.artist
|
gpm_now.artist = dict.song.artist
|
||||||
gpm_now.album = dict.song.album
|
gpm_now.album = dict.song.album
|
||||||
gpm_now.title = dict.song.title
|
gpm_now.title = dict.song.title
|
||||||
gpm_now.cover_url = dict.song.albumArt
|
gpm_now.cover_url = dict.song.albumArt
|
||||||
gpm_now.playing = dict.playing
|
gpm_now.playing = dict.playing
|
||||||
end
|
end
|
||||||
|
|
||||||
if (pread("pidof 'Google Play Music Desktop Player'") ~= '') then
|
if (pread("pidof 'Google Play Music Desktop Player'") ~= '') then
|
||||||
gpm_now.running = true
|
gpm_now.running = true
|
||||||
else
|
else
|
||||||
gpm_now.running = false
|
gpm_now.running = false
|
||||||
end
|
end
|
||||||
|
|
||||||
gpmdp_notification_preset.text = string.format(
|
gpmdp_notification_preset.text = string.format("%s (%s) - %s", gpm_now.artist, gpm_now.album, gpm_now.title)
|
||||||
"%s (%s) - %s",
|
|
||||||
gpm_now.artist,
|
|
||||||
gpm_now.album,
|
|
||||||
gpm_now.title)
|
|
||||||
widget = gpmdp.widget
|
widget = gpmdp.widget
|
||||||
settings()
|
settings()
|
||||||
|
|
||||||
if gpm_now.playing
|
if gpm_now.playing
|
||||||
then
|
then
|
||||||
if notify == "on" and gpm_now.title ~= helpers.get_map("gpmpd_current")
|
if notify == "on" and gpm_now.title ~= helpers.get_map("gpmdp_current")
|
||||||
then
|
then
|
||||||
helpers.set_map("gpmpd_current", gpm_now.title)
|
helpers.set_map("gpmdp_current", gpm_now.title)
|
||||||
|
os.execute("curl " .. gpm_now.cover_url .. " -o /tmp/gpmcover.png")
|
||||||
current_icon = "/tmp/gpmcover.png"
|
|
||||||
os.execute("curl " .. gpm_now.cover_url .. " -o " .. current_icon)
|
|
||||||
|
|
||||||
if followmouse then
|
if followmouse then
|
||||||
gpmdp_notification_preset.screen = mouse.screen
|
gpmdp_notification_preset.screen = mouse.screen
|
||||||
|
@ -87,13 +77,13 @@ local function worker(args)
|
||||||
|
|
||||||
gpmdp.id = naughty.notify({
|
gpmdp.id = naughty.notify({
|
||||||
preset = gpmdp_notification_preset,
|
preset = gpmdp_notification_preset,
|
||||||
icon = current_icon,
|
icon = "/tmp/gpmcover.png",
|
||||||
replaces_id = gpmdp.id,
|
replaces_id = gpmdp.id,
|
||||||
}).id
|
}).id
|
||||||
end
|
end
|
||||||
elseif (not gpm_now.running)
|
elseif not gpm_now.running
|
||||||
then
|
then
|
||||||
helpers.set_map("current mpd track", nil)
|
helpers.set_map("gpmdp_current", nil)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
2
wiki
2
wiki
|
@ -1 +1 @@
|
||||||
Subproject commit 060b1822e3a0bdcd59bcae2d047908b031310ea6
|
Subproject commit c4e5537b9502894954c825fad4fd90d9abd3b29d
|
Loading…
Reference in New Issue