X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/6603c641c6ce675b010ca1977423747ca55d8795..912bd26ede8901c98fd8d7a35f8493ee448109ad:/widgets/alsa.lua diff --git a/widgets/alsa.lua b/widgets/alsa.lua index 85d5311..0bb2059 100644 --- a/widgets/alsa.lua +++ b/widgets/alsa.lua @@ -19,11 +19,14 @@ local setmetatable = setmetatable -- ALSA volume -- lain.widgets.alsa -local alsa = {} +local alsa = { + level = "0", + status = "off", +} local function worker(args) local args = args or {} - local timeout = args.timeout or 5 + local timeout = args.timeout or 1 local settings = args.settings or function() end alsa.cmd = args.cmd or "amixer" @@ -54,8 +57,14 @@ local function worker(args) end end - widget = alsa.widget - settings() + if alsa.level ~= volume_now.level or alsa.status ~= volume_now.status + then + widget = alsa.widget + settings() + + alsa.level = volume_now.level + alsa.status = volume_now.status + end end timer_id = string.format("alsa-%s-%s", alsa.cmd, alsa.channel)