NA: ALL AUTO-FIX key pauses or resumes auto-fix at every location; page keys keep their words under the band; rc4 ProP module at WS/SC

- LOCATIONS page key at 3,1: shows ALL ON or the paused locations; tap pauses all, tap again sends each back to its hours
- autofix auto: back to the auto-fix hours
- the page name and number shrink into the top 60% while the locations band shows
- WS and SC Propresenter-API on renewedvision-propresenter-api 1.2.0-rc4 (pinned manual, as NA)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-21 15:12:10 -04:00
co-authored by Claude Opus 5.5
parent 2a37cee10a
commit 3428bd81a2
7 changed files with 96 additions and 6 deletions
+10 -1
View File
@@ -269,13 +269,18 @@ REMOTE_VAR = "sp_remote" # North Attleboro's summary of the other locat
BAND_BLUE, BAND_DARK = 0x1E6FFF, 0x0B2A66
def band_on():
r = "$(custom:%s)" % REMOTE_VAR
return "$(internal:time_unix) - jsonpath(%s, '$.t') < 30 && jsonpath(%s, '$.n') > 0" % (r, r)
def locations_band(flash_var):
"""A blue band across the bottom of NA's page-number key naming the other locations with a problem
("SC", "SC WS"): it flashes until that location acknowledges, then stays. Red stays NA's own
(2026-10-21, the user: "i dont want the NA page buttons to flash red, that should he reserved for on site
problems")."""
r = "$(custom:%s)" % REMOTE_VAR
on = "$(internal:time_unix) - jsonpath(%s, '$.t') < 30 && jsonpath(%s, '$.n') > 0" % (r, r)
on = band_on()
color = "jsonpath(%s, '$.f') == 1 && $(custom:%s) == 1 ? %d : %d" % (r, flash_var, BAND_DARK, BAND_BLUE)
box = {"id": stable_id("nav", "band_box"), "name": "Locations", "usage": "auto", "type": "box", "enabled": prop(on, True),
"opacity": prop(100), "x": prop(0), "y": prop(60), "width": prop(100), "height": prop(40), "rotation": prop(0),
@@ -314,6 +319,10 @@ def nav_key(kind, names, status_page=None, hold_ms=1000, tap_page=1, cfg=None):
paint(layer.get("children", []))
paint(key["style"]["layers"])
if kind == "pagenum" and (cfg.get("nav_locations_band") or False):
# While the band shows, the page's own name and number shrink into the top 60%, so nothing is hidden.
for layer in key["style"]["layers"]:
if layer["type"] == "group":
layer["height"] = prop("(%s) ? 60 : 100" % band_on(), True)
key["style"]["layers"] += locations_band(opts["flash"])
if kind == "pagenum" and status_page:
step = key["steps"]["0"]