Add battery widget (device's own last-reported level, no live upstream)
Shows Frame.battery_percent/battery_as_of, already set by every device wake-on-battery report, plus routers/common.py's existing battery_estimate_s time-remaining estimate -- nothing new to fetch or cache. Compact (icon + percent) or detailed (+ estimate, last report age) display mode. No button actions.
This commit is contained in:
@@ -27,6 +27,13 @@ GRID_SHORT = 5
|
||||
# without truncating on every row; weather needs enough room for its
|
||||
# hourly/daily strips to stay legible (its current/multi_city modes
|
||||
# would tolerate smaller, but every mode shares one footprint value).
|
||||
# battery is just an icon + a percent (+ two optional small lines in
|
||||
# "detailed" mode) -- legible even at a single cell, like photos/static.
|
||||
# NOTE: a 1x1 widget-box on a narrow mobile canvas can clip its own
|
||||
# gear/remove buttons behind theme.css's overflow: hidden (their fixed
|
||||
# pixel offsets overflow the box's clipped width) -- a pre-existing
|
||||
# layout gap that already affects photos/static at 1x1 too, not fixed
|
||||
# here; see the finding called out where this was discovered.
|
||||
MIN_FOOTPRINT: dict[str, tuple[int, int]] = {
|
||||
"photos": (1, 1),
|
||||
"calendar": (3, 2),
|
||||
@@ -35,6 +42,7 @@ MIN_FOOTPRINT: dict[str, tuple[int, int]] = {
|
||||
"static": (1, 1),
|
||||
"text": (2, 1),
|
||||
"weather": (2, 2),
|
||||
"battery": (1, 1),
|
||||
}
|
||||
|
||||
Rect = tuple[int, int, int, int] # (x, y, w, h)
|
||||
|
||||
Reference in New Issue
Block a user