Files
knorke/audio.lua
2021-12-07 17:22:19 +01:00

49 lines
1.2 KiB
Lua

local vicious = require("vicious")
local wibox = require("wibox")
local icon_mute
local icon_low
local icon_medium
local icon_high
-- Create layout with widgets
local widget = wibox.widget {
{
id = "icon",
widget = wibox.widget.imagebox,
resize = true
},
{
id = "text",
widget = wibox.widget.textbox,
resize = true
},
layout = wibox.layout.align.horizontal
}
vicious.register(widget.text, vicious.widgets.volume,
function (w, args)
if (args[2] ~= "🔈" ) then -- this is emoji of "off", see https://github.com/vicious-widgets/vicious/blob/master/widgets/volume_linux.lua#L37
if args[1] >= 66 then
widget.icon:set_image(icon_high)
elseif args[1] >= 33 then
widget.icon:set_image(icon_medium)
else
widget.icon:set_image(icon_low)
end
else
widget.icon:set_image(icon_mute)
end
return " " .. args[1] .. "%"
end, 1, "Master")
-- Widget function that is available from the outside.
function widget.set_icons(mute, low, medium, high)
icon_mute = mute
icon_low = low
icon_medium = medium
icon_high = high
end
return widget