From 0bd150185551b6d8835d022c15a5f6e832d51113 Mon Sep 17 00:00:00 2001 From: venomade Date: Wed, 11 Feb 2026 11:42:58 +0000 Subject: Asahi Soft reset of dotfiles specific to Asahi, Sway and Neovim. --- .config/luastatus/battery.lua | 57 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .config/luastatus/battery.lua (limited to '.config/luastatus/battery.lua') diff --git a/.config/luastatus/battery.lua b/.config/luastatus/battery.lua new file mode 100644 index 0000000..459599e --- /dev/null +++ b/.config/luastatus/battery.lua @@ -0,0 +1,57 @@ +local function read(path) + local f = io.open(path) + if not f then return nil end + local v = tonumber(f:read('*l')) + f:close() + return v +end + +widget = { + plugin = 'timer', + opts = { period = 2 }, + cb = function() + local base = '/sys/class/power_supply/macsmc-battery/' + + local energy_now = read(base .. 'energy_now') + local energy_full = read(base .. 'energy_full') + local status_f = io.open(base .. 'status') + + if not energy_now or not energy_full or not status_f then + return { { full_text = 'bat ?' } } + end + + local status = status_f:read('*l') + status_f:close() + + local capacity = math.floor(energy_now / energy_full * 100 + 0.5) + + local text_color = '#ffffff' + local battery_symbol = ' ' + + if capacity < 30 then + text_color = '#ed8796' + battery_symbol = '󰁼' + elseif capacity > 70 then + text_color = '#a6da95' + battery_symbol = '󰂁' + else + text_color = '#eed49f' + battery_symbol = '󰁾' + end + + local symbol = ({ + Charging = '󱐋', + Discharging = battery_symbol, + })[status] or ' ' + + return { + { full_text = string.format('%s %2d%%', symbol, capacity), color = text_color } + } + end, + event = [[ + local t = ... + if t.button == 1 then + os.execute('~/.local/bin/rofi-ppd &') + end + ]], +} -- cgit 1.4.1-2-gfad0