X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/87d3fb525e841b5648e360a926d90c11d9a0a56b..a08bd5453e003956de907743257c9706b5bbfe97:/awesome/widgets/mpd_widget.lua?ds=inline diff --git a/awesome/widgets/mpd_widget.lua b/awesome/widgets/mpd_widget.lua index 9da5152..2e4b215 100644 --- a/awesome/widgets/mpd_widget.lua +++ b/awesome/widgets/mpd_widget.lua @@ -137,9 +137,7 @@ end function widget:error_handler(err) self._textbox:set_text("Error: " .. tostring(err)) - timer.start_new(10, function() - self._connection:send("ping") - end) + self._status = {} end function widget:run() @@ -150,9 +148,13 @@ function widget:run() "player", function(conn) conn:send("status", function(err, status) local songchanged = self._status.songid ~= status.songid + local statechanged = self._status.state ~= status.state self._status = status if not songchanged then self:update_widget() + if statechanged then + self:popup_oneshot(5) + end return end @@ -168,6 +170,13 @@ function widget:run() end ) + self._keep_alive_timer = timer { + timeout = 1 + , autostart = true + , callback = function() self._connection:connect() end + , call_now = true + } + self._timer = timer({ timeout = 1 }) self._timer:connect_signal("timeout", function() self:popup_update() end)