40 lines
916 B
Lua
40 lines
916 B
Lua
|
local timer = require("gears.timer")
|
||
|
local wibox = require("wibox")
|
||
|
|
||
|
local function readfile(command)
|
||
|
local file = io.open(command)
|
||
|
if not file then return nil end
|
||
|
local text = file:read('*all')
|
||
|
file:close()
|
||
|
return text:gsub("^%s*(.-)%s*$", "%1")
|
||
|
end
|
||
|
|
||
|
local battery_widget = wibox.widget{
|
||
|
markup = 'U00',
|
||
|
align = 'center',
|
||
|
widget = wibox.widget.textbox
|
||
|
}
|
||
|
|
||
|
timer = timer({ timeout = 10 })
|
||
|
timer:connect_signal("timeout", function() update() end)
|
||
|
timer:start()
|
||
|
|
||
|
function update()
|
||
|
local percent = readfile("/sys/class/power_supply/BAT1/capacity")
|
||
|
local status = readfile("/sys/class/power_supply/BAT1/status")
|
||
|
|
||
|
if status == "Charging" then
|
||
|
prefix = "C"
|
||
|
elseif status == "Discharging" then
|
||
|
prefix = "D"
|
||
|
else
|
||
|
prefix = "F"
|
||
|
end
|
||
|
|
||
|
battery_widget:set_markup(prefix .. percent)
|
||
|
end
|
||
|
|
||
|
update()
|
||
|
|
||
|
return wibox.container.margin(battery_widget, 4)
|