X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/85ed92417dfca8fbdcfc89b7efb5308edd4d1193..f59c9644ab3daa1f186c5d4041184327184b9150:/widgets/mpd.lua

diff --git a/widgets/mpd.lua b/widgets/mpd.lua
index 8568764..5a4e534 100644
--- a/widgets/mpd.lua
+++ b/widgets/mpd.lua
@@ -17,7 +17,6 @@ local wibox        = require("wibox")
 local os           = { execute = os.execute,
                        getenv  = os.getenv }
 local math         = { floor   = math.floor }
-local mouse        = mouse
 local string       = { format  = string.format,
                        match   = string.match,
                        gmatch  = string.gmatch }
@@ -26,7 +25,7 @@ local setmetatable = setmetatable
 
 -- MPD infos
 -- lain.widgets.mpd
-local mpd = {}
+local mpd = helpers.make_widget_textbox()
 
 local function worker(args)
     local args        = args or {}
@@ -38,7 +37,7 @@ local function worker(args)
     local cover_size  = args.cover_size or 100
     local default_art = args.default_art or ""
     local notify      = args.notify or "on"
-    local followmouse = args.followmouse or false
+    local followtag   = args.followtag or false
     local echo_cmd    = args.echo_cmd or "echo"
     local settings    = args.settings or function() end
 
@@ -46,8 +45,6 @@ local function worker(args)
     local mpdh = "telnet://" .. host .. ":" .. port
     local echo = echo_cmd .. " 'password " .. password .. "\nstatus\ncurrentsong\nclose'"
 
-    mpd.widget = wibox.widget.textbox('')
-
     mpd_notification_preset = {
         title   = "Now playing",
         timeout = 6
@@ -70,6 +67,8 @@ local function worker(args)
                 artist       = "N/A",
                 title        = "N/A",
                 album        = "N/A",
+                genre        = "N/A",
+                track        = "N/A",
                 date         = "N/A",
                 time         = "N/A",
                 elapsed      = "N/A"
@@ -83,6 +82,8 @@ local function worker(args)
                     elseif k == "Artist"         then mpd_now.artist       = escape_f(v)
                     elseif k == "Title"          then mpd_now.title        = escape_f(v)
                     elseif k == "Album"          then mpd_now.album        = escape_f(v)
+                    elseif k == "Genre"          then mpd_now.genre        = escape_f(v)
+                    elseif k == "Track"          then mpd_now.track        = escape_f(v)
                     elseif k == "Date"           then mpd_now.date         = escape_f(v)
                     elseif k == "Time"           then mpd_now.time         = v
                     elseif k == "elapsed"        then mpd_now.elapsed      = string.match(v, "%d+")
@@ -116,8 +117,8 @@ local function worker(args)
                         current_icon = default_art
                     end
 
-                    if followmouse then
-                        mpd_notification_preset.screen = mouse.screen
+                    if followtag then
+                        mpd_notification_preset.screen = awful.screen.focused()
                     end
 
                     mpd.id = naughty.notify({
@@ -135,7 +136,7 @@ local function worker(args)
 
     helpers.newtimer("mpd", timeout, mpd.update)
 
-    return setmetatable(mpd, { __index = mpd.widget })
+    return mpd
 end
 
 return setmetatable(mpd, { __call = function(_, ...) return worker(...) end })