Display v1.1: info panel with live countdown and progress bar - #3
Merged
Conversation
…down Replace the single scrolling text line with layout "A + progress accent bar": a 2px bottom-anchored bar showing time-to-event within progress_window_minutes, a title row (HH:MM + event title, scrolling only when it doesn't fit), and a native countdown element that ticks on-device every second instead of being redrawn per poll. Bar and countdown turn amber within notice_minutes (new config key, default 15) and red within warn_minutes of the event start; an in-progress event switches to a full-height teal bar and a countdown to the event's end instead of its start. run_once now checks for an active event unconditionally (previously only under auto_busy) and prefers it over a later upcoming one for display. Also fixes a firmware gotcha found via on-device verification: RectangleElement defaults to a 1px white border that, at 2px bar width, painted the whole bar white regardless of fill_colors -- now disabled explicitly with border_width=0. format_countdown is removed; its only caller (the old renderer) is gone and no test needs it.
build_ci_payload now draws a rounded-rect background behind the bold scrolling alert text instead of plain colored text on black: red #A32D2DFF for failures, amber #BA7517FF for stuck queues, matching text in white / black respectively. show_green and LED blink behavior are unchanged. Same RectangleElement border gotcha as the calendar bar applies here (border_width=0 needed to avoid an unwanted white outline around the badge). main.py's summary line now looks up the text element by type instead of assuming elements[0], since the background rect is now first.
Add a dated addendum to the design spec covering the new layout, the new config keys, and the RectangleElement border_width gotcha found during on-device verification. Update both integration READMEs to describe the new display (progress bar + title row + native countdown for calendar; full-panel badge for CI alerts) and the two new calendar_countdown config keys.
Both integrations' Logs sections still pointed at /tmp/busybar-*.log, but commit 84bf461 moved the LaunchAgent plists to log under ~/Library/Logs/busybar/ for persistence. Update path + tail command in both READMEs to match.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Operator-approved redesign of the 72×16 display output (layout A + progress accent bar):
notice_minutes(15),progress_window_minutes(60).Tests: 50 passed (was 36). Verified pixel-by-pixel on the device via /api/screen captures across all six visual states.
🤖 Generated with Claude Code