local awful = require("awful")

-- Script
local title_sc = "mpc -f %title% | head -1"
local artist_sc = "mpc -f %artist% | head -1"
local length_sc = "mpc | awk '{print $3}' | awk 'NR==2'"
local status_sc = "mpc | awk '{print $1}' | awk 'NR==2' | sed 's/[[]*//g' | sed 's/[]]*//g'"

-- function
local function get_player()
	awful.spawn.easy_async_with_shell(title_sc, function(title)
		awful.spawn.easy_async_with_shell(artist_sc, function(artist)
			awful.spawn.easy_async_with_shell(length_sc, function(length)
				awful.spawn.easy_async_with_shell(status_sc, function(status)
					title = string.gsub(title, "\n", "")
					artist = string.gsub(artist, "\n", "")
					length = string.gsub(length, "\n", "")
					status = string.gsub(status, "\n", "")

					awesome.emit_signal("signal::player", title, artist, length, status)
				end)
			end)
		end)
	end)
end

awesome.connect_signal("widget::update_player", function()
	get_player()
end)

get_player()
