-
Notifications
You must be signed in to change notification settings - Fork 212
Shows the remaining time and percentage capacity of your laptop battery, as well as the current wattage. Multiple batteries are supported.
Displays a notification when battery is fully charged, low, or critical.
local mybattery = lain.widget.bat()| Variable | Meaning | Type | Default |
|---|---|---|---|
timeout |
Refresh timeout (in seconds) | integer | 30 |
pspath |
Power supply directory path | string | "/sys/class/power_supply/" |
battery |
Single battery id | string | autodetected |
batteries |
Multiple batteries id table | table of strings | autodetected |
ac |
AC | string | autodetected |
notify |
Show notification popups | string | "on" |
full_notify |
Show a notification popup when the battery's fully charged | string | inherited value from notify
|
n_perc |
Percentages assumed for critical and low battery levels | table of integers | {5, 15} |
settings |
User settings | function | empty function |
widget |
Widget to render | function | wibox.widget.textbox |
The widget will try to autodetect battery, batteries and ac. If something
goes wrong, you will have to define them manually. In that case, you only have
to define one between battery and batteries. If you have one battery, you
can either use args.battery = "BAT*" or args.batteries = {"BAT*"}, where BAT*
is the identifier of your battery in pspath (do not use it as a wildcard).
Of course, if you have multiple batteries, you need to use the latter option.
To disable notifications, set notify to "off".
If you define pspath, be sure to not forget the final slash (/).
settings can use the bat_now table, which contains the following strings:
-
status, general status ("N/A", "Discharging", "Charging", "Full"); -
n_status[i], i-th battery status (like above); -
ac_status, AC-plug flag (0 if cable is unplugged, 1 if plugged, "N/A" otherwise); -
perc, total charge percentage (integer between 0 and 100 or "N/A"); -
n_perc[i], i-th battery charge percentage (like above); -
time, time remaining until charge if charging, until discharge if discharging (HH:MM string or "N/A"); -
watt, battery watts (float with 2 decimals); -
capacity, remaining battery capacity in percent; -
n_capacity[i], i-th battery remaining capacity (like above).
and can modify the following three tables, which will be the preset for the naughty notifications:
-
bat_notification_charged_preset(used if battery is fully charged and connected to AC) -
bat_notification_low_preset(used if battery charge level <= 15) -
bat_notification_critical_preset(used if battery charge level <= 5)
Check here for the list of variables they can contain. Default definitions:
bat_notification_charged_preset = {
title = "Battery full",
text = "You can unplug the cable",
timeout = 15,
fg = "#202020",
bg = "#CDCDCD"
}
bat_notification_low_preset = {
title = "Battery low",
text = "Plug the cable!",
timeout = 15,
fg = "#202020",
bg = "#CDCDCD"
}bat_notification_critical_preset = {
title = "Battery exhausted",
text = "Shutdown imminent",
timeout = 15,
fg = "#000000",
bg = "#FFFFFF"
}| Variable | Meaning | Type |
|---|---|---|
widget |
The widget | wibox.widget.textbox |
update |
Update widget
|
function |
The update function can be used to refresh the widget before timeout expires.
Alternatively, you can try the upower recipe.