diff options
Diffstat (limited to '.config/awesome/ui/statusbar/widgets/battery.lua')
| -rw-r--r-- | .config/awesome/ui/statusbar/widgets/battery.lua | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/.config/awesome/ui/statusbar/widgets/battery.lua b/.config/awesome/ui/statusbar/widgets/battery.lua new file mode 100644 index 0000000..b041c3a --- /dev/null +++ b/.config/awesome/ui/statusbar/widgets/battery.lua @@ -0,0 +1,67 @@ +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("<span color=\"" .. color .. "\">" .. icon .. "</span>") + 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("<span color=\"" .. color .. "\">" .. icon .. "</span>") +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 |
