X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/6adebaa31d0cfb93cbe595a974575bcd76cba8d5..b47ffe60e244c9165f40371736079320ea2d848b:/awesome/widgets/mpd_widget.lua?ds=inline diff --git a/awesome/widgets/mpd_widget.lua b/awesome/widgets/mpd_widget.lua index 1d011cf..956fa4c 100644 --- a/awesome/widgets/mpd_widget.lua +++ b/awesome/widgets/mpd_widget.lua @@ -22,20 +22,26 @@ widget.scroll = wibox.widget { } function widget:update_widget() + if not self._currentsong then + self._textbox.text = "" + return + end local text = "" 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 local function sec_to_min(sec) - m, s = math.modf((sec or 0.0) / 60) + local m, s = math.modf((sec or 0.0) / 60) return string.format('%d:%02d', m, math.floor(s * 60)) end @@ -62,6 +68,7 @@ end function widget:get_info() local status, song = self._status, self._currentsong if not status.state then return nil end + if not status.song then return nil end local info = {} info.title = status.state .. " " .. status.song .. "/" .. status.playlistlength .. " " .. song_duration(status.elapsed, status.duration) @@ -126,6 +133,7 @@ function widget:popup_update() self._status = status local table = self:get_info() if not self._notification then return end + if not table then return end naughty.replace_text(self._notification, table.title, table.text) end) end @@ -164,6 +172,10 @@ function widget:run() conn:send("currentsong", function(_, song) self._currentsong = song + if not song then + self:update_widget() + return + end conn:albumart(song.file, function(_, art) self._albumart = art self:update_widget()