Skip to content

Fix the appearance theme toggle flickering other open project windows.…#241

Merged
inkeep-oss-sync[bot] merged 1 commit into
mainfrom
copybara/sync
Jun 23, 2026
Merged

Fix the appearance theme toggle flickering other open project windows.…#241
inkeep-oss-sync[bot] merged 1 commit into
mainfrom
copybara/sync

Conversation

@inkeep-oss-sync

Copy link
Copy Markdown
Contributor

Fix the appearance theme toggle flickering other open project windows. With more than one project open, switching Light/Dark/System made every non-focused window flicker rapidly before settling on the right appearance. The cause was the window-chrome translucency material being re-applied to every open window on every theme change — work that scales with the number of windows and rebuilds the macOS vibrancy view each time, even though the material never needs to change on a light/dark switch. The desktop app now skips re-applying a window's translucency when it is unchanged, so theme switches are flicker-free across all open windows. Genuine "Reduce transparency" accessibility changes still apply to every window.

…ws (#2032)

Switching Light/Dark/System re-applied the window vibrancy material to every
open window on each theme change. With multiple projects open the fan-out
scaled with window count and rebuilt the macOS vibrancy view each time,
flickering the non-focused windows until they settled. The material never
needs to change on a light/dark switch (it auto-tracks nativeTheme.themeSource).

applyReducedTransparency now memoizes the last material per window and skips
windows already at the target, so theme-driven re-applies are no-ops while
genuine reduce-transparency toggles and newly-opened windows still apply.

GitOrigin-RevId: 2dba77b90f13d5cb3a77c4270e786a390b81823d

@inkeep-internal-ci inkeep-internal-ci Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated approval from agents-private public-mirror-sync (run: https://github.com/inkeep/agents-private/actions/runs/28062234946). Source of truth is the monorepo; direct edits on inkeep/open-knowledge are overwritten on next sync.

@inkeep-oss-sync inkeep-oss-sync Bot merged commit f5f18ef into main Jun 23, 2026
1 check passed
@inkeep-oss-sync inkeep-oss-sync Bot deleted the copybara/sync branch June 23, 2026 22:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant