gpmdp: some fixe + added wiki; #206

This commit is contained in:
copycat-killer 2016-06-25 14:27:20 +02:00
parent 202ab106d5
commit 53b782f7c1
2 changed files with 28 additions and 38 deletions

View File

@ -6,15 +6,13 @@
--]] --]]
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

@ -1 +1 @@
Subproject commit 060b1822e3a0bdcd59bcae2d047908b031310ea6 Subproject commit c4e5537b9502894954c825fad4fd90d9abd3b29d