X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/f8c02273484224b9133f77606f0016fb6cdaff4b..aecc6382a6dde8032c83bea9c2570c59add4b62c:/awesome/widgets/mpd_widget.lua?ds=sidebyside diff --git a/awesome/widgets/mpd_widget.lua b/awesome/widgets/mpd_widget.lua index 2c6ab78..8e962c6 100644 --- a/awesome/widgets/mpd_widget.lua +++ b/awesome/widgets/mpd_widget.lua @@ -90,19 +90,27 @@ function widget:popup_show() end function widget:popup_hide(delay) + local function destroy() + if self._hover then return end + if not self._notification then return end + naughty.destroy(self._notification) + self._notification = nil + end + + if not delay then + destroy() + return + end + if self._hide_timer and self._hide_timer.started then + self._hide_timer.timeout = delay self._hide_timer:again() else self._hide_timer = timer( { timeout = delay , autostart = true , single_shot = true - , callback = function() - if self._hover then return end - if not self._notification then return end - naughty.destroy(self._notification) - self._notification = nil - end + , callback = destroy }) end end @@ -116,12 +124,12 @@ end function widget:popup_oneshot(timeout) if self._notification then - self:popup_update() - self:popup_hide(5) + self:popup_hide() + self:popup_show() else self:popup_show() - self:popup_hide(5) end + self:popup_hide(5) end function widget:error_handler(err)