fix: launcher overlay paints opaque @bg instead of transparent #5

Merged
Breadway merged 1 commit from fix/launcher-opaque-background into main 2026-08-31 23:01:27 +08:00
Owner

bind_window_auto re-broadcasts the shared sheet (window { background-color: @bg }) at USER - 10, outranking the app CSS window { background-color: transparent } at APPLICATION priority — the full-screen overlay fills the screen with opaque #0c0c0c, hiding the desktop behind the launcher. Worst under a VM software renderer.

Fix: bind_window_auto_with_app_css (rides at USER - 9), matching breadbar/breadhelp. Verified with headless pixman sway + solid bg — overlay region outside the panel now shows through.

breadsearch and breadclip have the same new_overlay_window + bind_window_auto pattern and need the same fix.

`bind_window_auto` re-broadcasts the shared sheet (`window { background-color: @bg }`) at `USER - 10`, outranking the app CSS `window { background-color: transparent }` at APPLICATION priority — the full-screen overlay fills the screen with opaque `#0c0c0c`, hiding the desktop behind the launcher. Worst under a VM software renderer. Fix: `bind_window_auto_with_app_css` (rides at `USER - 9`), matching breadbar/breadhelp. Verified with headless pixman sway + solid bg — overlay region outside the panel now shows through. `breadsearch` and `breadclip` have the same `new_overlay_window` + `bind_window_auto` pattern and need the same fix.
Breadway added 1 commit 2026-08-31 21:58:14 +08:00
fix: launcher overlay paints opaque @bg instead of transparent
All checks were successful
check / check (push) Successful in 3m36s
96a752e61d
The full-screen overlay window sets `window { background-color: transparent }`
in its app CSS (APPLICATION priority), but `bind_window_auto` re-broadcasts
the shared component sheet — which includes `window { background-color: @bg }`
— as a widget-tree provider at STYLE_PROVIDER_PRIORITY_USER - 10. Provider
priority is the primary cascade key, so that outranks the app rule regardless
of selector specificity: the "transparent overlay" fills the screen with an
opaque @bg (#0c0c0c) rectangle, hiding the whole desktop behind the launcher.
Guaranteed to bite under a VM's software renderer where there's no GL context
to paper over it.

Bind the app sheet too, via bind_window_auto_with_app_css (rides at USER - 9,
back above the shared window rule) — same pattern breadbar and breadhelp
already use. Verified with a headless pixman sway + solid-colour background:
the overlay region outside the panel now shows the desktop through.

breadsearch and breadclip use the same new_overlay_window + bind_window_auto
pattern and need the same fix.
Breadway merged commit feaa88705a into main 2026-08-31 23:01:27 +08:00
Sign in to join this conversation.
No reviewers
No labels
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/breadbox#5
No description provided.