30 lines
838 B
Lua
30 lines
838 B
Lua
|
local wibox = require("wibox")
|
||
|
local awful = require("awful")
|
||
|
|
||
|
volume_widget = wibox.widget.textbox()
|
||
|
volume_widget:set_align("right")
|
||
|
|
||
|
function update_volume()
|
||
|
|
||
|
awful.spawn.easy_async('amixer sget Master', function(stdout, stderr)
|
||
|
local status = stdout
|
||
|
local widget = volume_widget
|
||
|
|
||
|
-- local volume = tonumber(string.match(status, "(%d?%d?%d)%%")) / 100
|
||
|
local volume = string.match(status, "(%d?%d?%d)%%")
|
||
|
volume = string.format("% 3d", volume)
|
||
|
status = string.match(status, "%[(o[^%]]*)%]")
|
||
|
|
||
|
if string.find(status, "on", 1, true) then
|
||
|
-- For the volume numbers
|
||
|
volume = volume .. "%"
|
||
|
else
|
||
|
-- For the mute button
|
||
|
volume = volume .. "M"
|
||
|
end
|
||
|
widget:set_markup("V :" .. volume)
|
||
|
end)
|
||
|
end
|
||
|
|
||
|
update_volume()
|