X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/a08bd5453e003956de907743257c9706b5bbfe97..85fd014ecfc51004744cb41cbaba5350c753609b:/awesome/widgets/mpd_widget.lua diff --git a/awesome/widgets/mpd_widget.lua b/awesome/widgets/mpd_widget.lua index 2e4b215..9a698f7 100644 --- a/awesome/widgets/mpd_widget.lua +++ b/awesome/widgets/mpd_widget.lua @@ -26,10 +26,12 @@ function widget:update_widget() local artist = self._currentsong.artist local title = self._currentsong.title local file = self._currentsong.file - if not artist then + if artist and title then + text = string.format("%s - %s", artist, title) + elseif title or file then text = string.format("%s", title or file ) else - text = string.format("%s - %s", artist, title) + text = "-" end self._textbox.text = text end @@ -60,8 +62,10 @@ function widget:get_albumart() end function widget:get_info() - local info = {} local status, song = self._status, self._currentsong + if not status.state then return nil end + + local info = {} info.title = status.state .. " " .. status.song .. "/" .. status.playlistlength .. " " .. song_duration(status.elapsed, status.duration) if not song.artist then info.text = string.format("%s", song.title or song.file) @@ -77,7 +81,10 @@ end function widget:popup_show() if self._notification then return end + local table = self:get_info() + if not table then return end + self._timer:start() self._notification = naughty.notify( { title = table.title @@ -142,7 +149,6 @@ end function widget:run() self._status = {} - self._status.songid = nil self._connection = mpc.new(nil, nil, nil, function(err) self:error_handler(err) end, "player", function(conn) @@ -194,6 +200,11 @@ widget.scroll:buttons(gears.table.join( ) globalkeys = gears.table.join(globalkeys, + --TODO headphone support + awful.key({ }, "XF86AudioPlay", function() widget._connection:play() end, + { description = "play", group = "mpd" }), + awful.key({ }, "XF86AudioPause", function() widget._connection:pause() end, + { description = "pause", group = "mpd" }), awful.key({ modkey }, "p", function() widget._connection:toggle_play() end, { description = "toogle play", group = "mpd" }), awful.key({ modkey }, "'", function() widget:popup_oneshot(5) end,