summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--volumearc-widget/volumearc.lua17
1 files changed, 10 insertions, 7 deletions
diff --git a/volumearc-widget/volumearc.lua b/volumearc-widget/volumearc.lua
index a62abde..b104ad3 100644
--- a/volumearc-widget/volumearc.lua
+++ b/volumearc-widget/volumearc.lua
@@ -74,15 +74,18 @@ local function worker(user_args)
widget = wibox.container.arcchart
}
- local update_graphic = function(_, stdout, _, _, _)
- local mute = string.match(stdout, "%[(o%D%D?)%]") -- \[(o\D\D?)\] - [on] or [off]
- local volume = string.match(stdout, "(%d?%d?%d)%%") -- (\d?\d?\d)\%)
- volume = tonumber(string.format("% 3d", volume))
-
+ local update_graphic = function(widget, stdout, _, _, _)
+ local mute = "on"
+ local volume = 0
+ if not (stdout == nil or stdout == '') then
+ mute = string.match(stdout, "%[(o%D%D?)%]") -- \[(o\D\D?)\] - [on] or [off]
+ volume = string.match(tostring(stdout), "(%d?%d?%d)%%") -- (\d?\d?\d)\%)
+ volume = tonumber(string.format("% 3d", volume))
+ end
widget.value = volume / 100;
widget.colors = mute == 'off'
- and { mute_color }
- or { main_color }
+ and { mute_color }
+ or { main_color }
end
local button_press = args.button_press or function(_, _, _, button)