Fixed
-
Cleared overrides never reset live —
lines_from_monitorsomittedtransform,bitdepthandcmwhen they held their default. Hyprland'shl.monitor()seeds the rule from the existing one for that output, so an omitted key keeps its previous value: rotating a monitor and then setting it back to Normal left the display rotated until the next config reload, and the same applied to clearing a 10-bit or colour-management override. Live-apply callers now emittransform, 0,bitdepth, 8andcm, srgbexplicitly. Verified against Hyprland 0.56.1.mirror_ofandvrrare knowingly still affected: Hyprland clears a mirror with an empty value, which a comma-joined line can't carry unambiguously, and inheriting the global VRR setting needs a-1sentinel the compositor doesn't accept yet.
Changed
lines_from_monitors(explicit_hdr_defaults=...)renamed tofor_live_apply=...— the flag now covers every field that needs an explicit default on live apply, not just the HDR SDR keys. Saved-config callers are unaffected; a config reload clears all monitor rules first, so omission still resets there.