From a0f8b5fa6acdd1c2477fb1881dd9067956bf0ae6 Mon Sep 17 00:00:00 2001 From: delta Date: Sun, 29 Jan 2023 09:59:52 +0100 Subject: init dots --- .config/awesome/components/statusbar/battery.lua | 78 ++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 .config/awesome/components/statusbar/battery.lua (limited to '.config/awesome/components/statusbar/battery.lua') diff --git a/.config/awesome/components/statusbar/battery.lua b/.config/awesome/components/statusbar/battery.lua new file mode 100644 index 0000000..670b200 --- /dev/null +++ b/.config/awesome/components/statusbar/battery.lua @@ -0,0 +1,78 @@ +local awful = require "awful" +local xresources = require "beautiful.xresources" +local dpi = xresources.apply_dpi +local vars = require "themes.prismite.vars" +local wibox = require "wibox" + +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 +} + +awful.tooltip { + objects = { battery }, + timer_function = function() + return io.popen("cat /sys/class/power_supply/BAT0/capacity"):read("*a"):sub(0, -2) .. "%" + end, + bg = vars.colors.bg, + fg = vars.colors.fg, + border_color = vars.colors.bright.black, + border_width = vars.border_width, + font = vars.font, + shape = vars.shape, + margin_leftright = dpi(6), + margin_topbottom = dpi(6) +} + +return battery -- cgit v1.2.3