33 lines
771 B
Lua
33 lines
771 B
Lua
local awful = require("awful")
|
|
local gears = require("gears")
|
|
local wibox = require("wibox")
|
|
local beautiful = require("beautiful")
|
|
|
|
-- Configuration
|
|
local update_interval = 30 -- in seconds
|
|
|
|
local battery_text = wibox.widget.textbox()
|
|
|
|
local battery = wibox.widget {
|
|
battery_text,
|
|
layout = wibox.layout.align.horizontal,
|
|
}
|
|
|
|
local function update_widget(bat)
|
|
battery_text.markup = bat
|
|
end
|
|
|
|
local bat_script = [[
|
|
bash -c "
|
|
upower -i $(upower -e | grep BAT) | grep percentage | awk '{print $2}'
|
|
"]]
|
|
|
|
-- Update percentage
|
|
awful.widget.watch(bat_script, update_interval, function(widget, stdout)
|
|
-- local bat = stdout:match(':%s*(.*)..')
|
|
local bat = string.gsub(stdout, '^%s*(.-)%s*$', '%1')
|
|
update_widget(bat)
|
|
end)
|
|
|
|
return battery
|