X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/912bd26ede8901c98fd8d7a35f8493ee448109ad..fc7403534f847a02e9f3862fbfec4335a46c1879:/widgets/alsabar.lua?ds=inline

diff --git a/widgets/alsabar.lua b/widgets/alsabar.lua
index fc45c72..83e27b5 100644
--- a/widgets/alsabar.lua
+++ b/widgets/alsabar.lua
@@ -47,8 +47,7 @@ local alsabar = {
     },
 
     _current_level = 0,
-    _muted         = false,
-    _status        = "off"
+    _muted         = false
 }
 
 function alsabar.notify()
@@ -57,7 +56,7 @@ function alsabar.notify()
     local preset = {
         title   = "",
         text    = "",
-        timeout = 1,
+        timeout = 5,
         screen  = alsabar.notifications.screen,
         font    = alsabar.notifications.font .. " " ..
                   alsabar.notifications.font_size,
@@ -95,7 +94,7 @@ end
 
 local function worker(args)
     local args       = args or {}
-    local timeout    = args.timeout or 1
+    local timeout    = args.timeout or 5
     local settings   = args.settings or function() end
     local width      = args.width or 63
     local height     = args.heigth or 1
@@ -128,17 +127,11 @@ local function worker(args)
         -- Capture mixer control state:          [5%] ... ... [on]
         local volu, mute = string.match(mixer, "([%d]+)%%.*%[([%l]*)")
 
-        volu = tonumber(volu) or 0
-        if mute == "" then mute = "off"
-
-        if alsabar._current_level ~= volu or alsabar._status ~= mute then
-
-            alsabar._current_level = volu
-            alsabar._status = mute
-
+        if (volu and tonumber(volu) ~= alsabar._current_level) or string.match(mute, "on") ~= alsabar._muted
+        then
+            alsabar._current_level = tonumber(volu)
             alsabar.bar:set_value(alsabar._current_level / 100)
-
-            if not mute and volu == 0 or mute == "off"
+            if not mute and tonumber(volu) == 0 or mute == "off"
             then
                 alsabar._muted = true
                 alsabar.tooltip:set_text (" [Muted] ")
@@ -150,9 +143,8 @@ local function worker(args)
             end
 
             volume_now = {}
-            volume_now.level = volu
+            volume_now.level = tonumber(volu)
             volume_now.status = mute
-
             settings()
         end
     end