X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/eac8845c1477c594f47ae58266ad8b3093390235..3dd18e11f4003c108079f00e4d3965ee4f18988e:/widgets/alsa.lua?ds=sidebyside

diff --git a/widgets/alsa.lua b/widgets/alsa.lua
index 114e2b2..a356892 100644
--- a/widgets/alsa.lua
+++ b/widgets/alsa.lua
@@ -12,7 +12,8 @@ local newtimer        = require("lain.helpers").newtimer
 local wibox           = require("wibox")
 
 local io              = { popen  = io.popen }
-local string          = { match  = string.match }
+local string          = { match  = string.match,
+                          format = string.format }
 
 local setmetatable    = setmetatable
 
@@ -23,14 +24,16 @@ local alsa = {}
 local function worker(args)
     local args     = args or {}
     local timeout  = args.timeout or 5
-    local channel  = args.channel or "Master -c 1"
     local settings = args.settings or function() end
 
+    alsa.cmd     = args.cmd or "amixer"
+    alsa.channel = args.channel or "Master"
+
     alsa.widget = wibox.widget.textbox('')
 
     function alsa.update()
-        local f = assert(io.popen('amixer get ' .. channel))
-        local mixer = f:read("*all")
+        local f = assert(io.popen(string.format("%s get %s", alsa.cmd, alsa.channel)))
+        local mixer = f:read("*a")
         f:close()
 
         volume_now = {}