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 battery = wibox.widget { widget = wibox.container.place, valign = "center", halign = "center", { widget = wibox.widget.imagebox, image = gcolor.recolor_image(phosphor.battery_warning_vertical_fill, qvars.colors.red), forced_width = qvars.icon_size, forced_height = qvars.icon_size } } awesome.connect_signal("services::battery", function(capacity, status) if status == "Charging" then battery.widget.image = gcolor.recolor_image(phosphor.battery_charging_vertical_fill, qvars.colors.green) return end local icon_data = qmath.step_value(capacity, { { 0, { "empty", "red" } }, { 20, { "low", "red" } }, { 40, { "medium", "yellow" } }, { 60, { "high", "green" } }, { 80, { "full", "green" } }, { 100 } }) battery.widget.image = gcolor.recolor_image(phosphor["battery_vertical_" .. icon_data[1] .. "_fill"], qvars.colors[icon_data[2]]) end) return battery