Skip to content

fix(ui): dim every overlay from one shared scrim - #468

Merged
OakChaser merged 1 commit into
devfrom
fix/content-overlay-shadow
Nov 15, 2026
Merged

OakChaser merged 1 commit into
devfrom
fix/content-overlay-shadow

Conversation

@OakChaser

Copy link
Copy Markdown
Member

No description provided.

The content shell faded its scrim from `settled`, a one-frame lag held by
a 16ms timer. Opening an overlay started that timer and the entrance timer
on the same frame, so the settle timer never re-armed: `phase` reached
"shown" while `settled` stayed "starting", the scrim stayed transparent,
and the panel slid in over an undimmed window.

Replace the per-overlay scrim with `components/display/scrim.slint`, which
owns the one dim level, and `globals/overlay-shadow.slint`, which asks for
only the band of the topmost open overlay. An overlay opened over another
therefore takes the dim over instead of layering a second, darker one, and
no overlay's fade depends on its own animation state machine. The palette
mounts above the title bar and dims the whole window like a dialog; the
dialog keeps its own scrim, drawn above all of them.
@github-actions github-actions Bot added the bug Something isn't working label Nov 15, 2026
@OakChaser
OakChaser merged commit 70e4438 into dev Nov 15, 2026
19 checks passed
@OakChaser
OakChaser deleted the fix/content-overlay-shadow branch November 15, 2026 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant