fix(theme): #79 review fixes — wrap-around schedule + HH:MM guard
All checks were successful
Check / eval (push) Successful in 4m6s
All checks were successful
Check / eval (push) Successful in 4m6s
Two low-severity edge bugs from a fresh-eyes review of the session batch: - cmd_auto: an inverted schedule (sunrise > sunset, i.e. a day window that crosses midnight) stayed perpetually on the day theme — the old `not between` shortcut is an empty interval when sunrise > sunset. Replaced with a real wrap-around: daytime = mins >= sunrise or mins < sunset, so both directions switch. Normal sunrise < sunset path is unchanged (checks.auto-theme still holds). - rofi autotheme HH:MM validator: `[0-2][0-9]` accepted 24:00–29:59. Tightened the case pattern to `[01][0-9]:[0-5][0-9]|2[0-3]:[0-5][0-9]` so out-of-range hours are rejected (they'd otherwise skew the boundary). (Two other review findings dismissed: papirus DOES ship breeze/breeze-dark so that iconPacks prefix is correct; the doctor RAM-unknown row is cosmetic since /proc/meminfo is always readable.) Verification: py_compile; boundary truth-table (normal + wrap-around); HH:MM case table (23:00/19:59/20:00 accept, 24/25/30:00 reject); auto --which normal-case unchanged; menu bash -n; flake check green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -752,7 +752,7 @@ ${themeRows}
|
||||
case "$choice" in "Sunset"*) key=sunset; label=Sunset; cur="''${sunset:-20:00}" ;; esac
|
||||
t=$(rofi_menu -p "$label HH:MM (now $cur)" < /dev/null) || exec "$0" autotheme
|
||||
case "$t" in
|
||||
[0-2][0-9]:[0-5][0-9])
|
||||
[01][0-9]:[0-5][0-9]|2[0-3]:[0-5][0-9])
|
||||
nomarchy-theme-sync --quiet set "settings.autoTheme.$key" "$t" --no-switch ;;
|
||||
"") : ;;
|
||||
*) notify-send "Auto theme" "Ignored '$t' — use HH:MM (24-hour)." ;;
|
||||
|
||||
Reference in New Issue
Block a user