local gcolor = require "gears.color" local phosphor = require "assets.phosphor" local qmath = require "quarrel.math" local qvars = require "quarrel.vars" local wibox = require "wibox" local volume_widget = wibox.widget { widget = wibox.container.place, valign = "center", halign = "center", { widget = wibox.widget.imagebox, image = gcolor.recolor_image(phosphor.speaker_simple_slash_fill, qvars.colors.red), forced_width = qvars.char_height, forced_height = qvars.char_height } } awesome.connect_signal("services::audio", function(volume, muted) if muted then volume_widget.widget.image = gcolor.recolor_image(phosphor["speaker_simple_x_fill"], qvars.colors.red) return end local icon_data = qmath.step_value(volume, { { 0, "slash" }, { 25, "none" }, { 50, "low" }, { 75, "high" }, { 100 } }) volume_widget.widget.image = gcolor.recolor_image(phosphor["speaker_simple_" .. icon_data .. "_fill"], qvars.colors.fg) end) return volume_widget