57 lines
1.8 KiB
Lua
57 lines
1.8 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 = 5, hover_timeout = 0.5,
|
|
width = 160,
|
|
})
|
|
end
|
|
|
|
function showWarningWidgetPopup()
|
|
local charge = tonumber(awful.util.pread("acpi | cut -d, -f 2 | egrep -o '[0-9]{1,3}'"))
|
|
if (charge < 15) then
|
|
naughty.notify({
|
|
text = "Huston, we have a problem",
|
|
title = "Battery dying",
|
|
timeout = 5, hover_timeout = 0.5,
|
|
position = "bottom_right",
|
|
bg = "#F06060",
|
|
fg = "#EEE9EF",
|
|
width = 200,
|
|
})
|
|
end
|
|
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/username/.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()
|
|
|
|
-- timer to refresh battery warning
|
|
batteryWarningTimer = timer({ timeout = 50 })
|
|
batteryWarningTimer:connect_signal("timeout", function() showWarningWidgetPopup() end)
|
|
batteryWarningTimer:start()
|