local awful = require "awful" local xresources = require "beautiful.xresources" local vars = require "misc.vars" local wibox = require "wibox" local h = require "misc.helpers" local battery_inner = awful.widget.watch("cat /sys/class/power_supply/BAT0/capacity", 1, function(widget, stdout) local icon = "" local color = vars.colors.red if io.popen("cat /sys/class/power_supply/BAT0/status"):read("*a"):sub(0, -2) == "Charging" then icon = "" color = vars.colors.green widget:set_markup("" .. icon .. "") return end local percent = tonumber(stdout) if percent <= 5 then icon = "" color = vars.colors.red elseif percent <= 10 then icon = "" color = vars.colors.red elseif percent <= 20 then icon = "" color = vars.colors.red elseif percent <= 30 then icon = "" color = vars.colors.yellow elseif percent <= 40 then icon = "" color = vars.colors.yellow elseif percent <= 50 then icon = "" color = vars.colors.yellow elseif percent <= 60 then icon = "" color = vars.colors.yellow elseif percent <= 70 then icon = "" color = vars.colors.yellow elseif percent <= 80 then icon = "" color = vars.colors.green elseif percent <= 90 then icon = "" color = vars.colors.green elseif percent <= 100 then icon = "" color = vars.colors.green end widget:set_markup("" .. icon .. "") end) local battery = wibox.widget { widget = wibox.container.place, battery_inner } h.tooltip({ battery }, function() return io.popen("cat /sys/class/power_supply/BAT0/capacity"):read("*a"):sub(0, -2) .. "%" end) return battery