Spotlight redesign: auto-hiding pill and lit stage #26

Closed
opened 2026-09-26 13:33:52 +08:00 by Breadway · 5 comments
Owner

Ground-up redesign of the spotlight shell theme, approved from the interactive mockup at https://claude.ai/artifact/49uF81wgNZi9pqDFoA2Xif (private to the owner).

Implemented in phases, each with isolated screenshots (bread-capture or a nested compositor, never the live desktop):

  1. Pill: floating top-centre pill with workspaces (display none/current/all), widget slots either side of the time, auto-hide (tucked above the edge, drops on top-middle hover, Super+Space, notifications, level changes, low battery). Tracked separately.
  2. Stage: search-first overlay with the light cone, recent app tiles, three-zone floor (controls with now playing, time + status sentence + widget cards, notifications with dismiss/clear all), power row with confirm.
  3. Results: grouped open windows (Hyprland clients, switch), apps, commands, calc.
  4. Surtitle notifications under the pill and volume/brightness levels drawn inside the pill instead of the OSD.

Theme-side schema/CSS lands in bread-theme (bread-ecosystem), breadbar pins it.

Ground-up redesign of the spotlight shell theme, approved from the interactive mockup at https://claude.ai/artifact/49uF81wgNZi9pqDFoA2Xif (private to the owner). Implemented in phases, each with isolated screenshots (bread-capture or a nested compositor, never the live desktop): 1. Pill: floating top-centre pill with workspaces (display none/current/all), widget slots either side of the time, auto-hide (tucked above the edge, drops on top-middle hover, Super+Space, notifications, level changes, low battery). Tracked separately. 2. Stage: search-first overlay with the light cone, recent app tiles, three-zone floor (controls with now playing, time + status sentence + widget cards, notifications with dismiss/clear all), power row with confirm. 3. Results: grouped open windows (Hyprland clients, switch), apps, commands, calc. 4. Surtitle notifications under the pill and volume/brightness levels drawn inside the pill instead of the OSD. Theme-side schema/CSS lands in bread-theme (bread-ecosystem), breadbar pins it.
Author
Owner

Status: all four phases implemented and reviewed (BAR-27 phase 1 PASS, BAR-30 phases 2-4 PASS after reviewer fixes). Installed on the owner's desktop for live testing on 2026-09-27: ~/.local/bin/breadbar built from breadbar e9e8157 + bread-theme e8f92d5 (branches feature/spotlight-pill, not pushed), shell.toml active = "spotlight". Backups: ~/.local/bin/breadbar.bak-pre-spotlight and ~/.config/bread/shell.toml.bak-pre-spotlight. Super+Space stays on breadbox for now; the stage opens by clicking the pill's time or breadbar --stage toggle. Next: live smoke test, then PRs.

Status: all four phases implemented and reviewed (BAR-27 phase 1 PASS, BAR-30 phases 2-4 PASS after reviewer fixes). Installed on the owner's desktop for live testing on 2026-09-27: ~/.local/bin/breadbar built from breadbar e9e8157 + bread-theme e8f92d5 (branches feature/spotlight-pill, not pushed), shell.toml active = "spotlight". Backups: ~/.local/bin/breadbar.bak-pre-spotlight and ~/.config/bread/shell.toml.bak-pre-spotlight. Super+Space stays on breadbox for now; the stage opens by clicking the pill's time or `breadbar --stage toggle`. Next: live smoke test, then PRs.
Author
Owner

Dependency PR: Breadway/bread-ecosystem#45 adds the bread-theme schema, styles, and bread-capture changes required by this spotlight work. Merge it before the breadbar PR, which will follow on feature/spotlight-pill. Headless Sway captures passed for pill shown/tucked, stage idle/results, critical surtitle, and in-pill levels.

Dependency PR: https://git.breadway.dev/Breadway/bread-ecosystem/pulls/45 adds the bread-theme schema, styles, and bread-capture changes required by this spotlight work. Merge it before the breadbar PR, which will follow on feature/spotlight-pill. Headless Sway captures passed for pill shown/tucked, stage idle/results, critical surtitle, and in-pill levels.
Author
Owner

Breadbar implementation PR: #37. Dependency: merge bread-ecosystem PR #45 first, which provides the theme API and CSS. Headless Sway smoke captures passed for the shown/tucked pill, stage idle/results, critical surtitle, and in-pill level.

Breadbar implementation PR: https://git.breadway.dev/Breadway/breadbar/pulls/37. Dependency: merge bread-ecosystem PR #45 first, which provides the theme API and CSS. Headless Sway smoke captures passed for the shown/tucked pill, stage idle/results, critical surtitle, and in-pill level.
Author
Owner

PR #37 check / check (push) is currently failing. The implementation depends on bread-ecosystem PR #45, which has passed CI but is not merged yet. I am moving this card to TODO as requested for REVIEW items with failing CI. Recheck the breadbar CI after #45 merges; then send it back through review.

PR #37 check / check (push) is currently failing. The implementation depends on bread-ecosystem PR #45, which has passed CI but is not merged yet. I am moving this card to TODO as requested for REVIEW items with failing CI. Recheck the breadbar CI after #45 merges; then send it back through review.
Author
Owner

PR #37 now passes fresh check / check (push) on 0fd9f05 (5m17s). The merged bread-ecosystem #45 dependency is resolved through the existing PR-check scripts/dev-deps.sh workflow, which records bread-ecosystem d9ab179 in the generated dev-deps lock; Cargo.toml and the committed release-tag Cargo.lock remain unchanged. Local clippy, build, and all 120 tests pass against that same dependency commit. Ready for independent review: #37

PR #37 now passes fresh `check / check (push)` on 0fd9f05 (5m17s). The merged bread-ecosystem #45 dependency is resolved through the existing PR-check `scripts/dev-deps.sh` workflow, which records bread-ecosystem d9ab179 in the generated dev-deps lock; Cargo.toml and the committed release-tag Cargo.lock remain unchanged. Local clippy, build, and all 120 tests pass against that same dependency commit. Ready for independent review: https://git.breadway.dev/Breadway/breadbar/pulls/37
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Breadway/breadbar#26
No description provided.