45 lines
1.2 KiB
Lua
45 lines
1.2 KiB
Lua
local wibox = require("wibox")
|
|
local awful = require("awful")
|
|
local naughty = require("naughty")
|
|
|
|
function showBatteryWidgetPopup()
|
|
local save_offset = offset
|
|
naughty.notify({
|
|
text = awful.util.pread("acpi | cut -d, -f 2,3"),
|
|
title = "Battery status",
|
|
timeout = 2, hover_timeout = 0.5,
|
|
width = 160,
|
|
})
|
|
end
|
|
|
|
function showBatteryWidgetIcon()
|
|
local charge = tonumber(awful.util.pread("acpi | cut -d, -f 2 | egrep -o '[0-9]{1,3}'"))
|
|
local batteryType
|
|
|
|
if (charge >= 0 and charge < 20) then batteryType=20
|
|
elseif (charge >= 20 and charge < 40) then batteryType=40
|
|
elseif (charge >= 40 and charge < 60) then batteryType=60
|
|
elseif (charge >= 60 and charge < 80) then batteryType=80
|
|
elseif (charge >= 80 and charge < 100) then batteryType=100
|
|
end
|
|
|
|
batteryIcon:set_image("/home/pashik/.config/awesome/battery-icons/" .. batteryType .. ".png")
|
|
end
|
|
|
|
batteryIcon = wibox.widget.imagebox()
|
|
showBatteryWidgetIcon()
|
|
batteryIcon:connect_signal("mouse::enter",
|
|
function()
|
|
showBatteryWidgetPopup()
|
|
end
|
|
)
|
|
|
|
-- timer to refresh battery icon
|
|
batteryWidgetTimer = timer({ timeout = 5 })
|
|
batteryWidgetTimer:connect_signal("timeout",
|
|
function()
|
|
showBatteryWidgetIcon()
|
|
end
|
|
)
|
|
|
|
batteryWidgetTimer:start() |