Repository navigation
feat: add optional frosted and liquid glass window styles - #30504
Closed
MuhammAli786 wants to merge 3 commits into
Closed
MuhammAli786 wants to merge 3 commits into
MuhammAli786 wants to merge 3 commits into
Conversation
Contributor
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.
ELI5
Adds an optional glass appearance to Orca. The desktop window supplies the blur, while the app draws tinted surfaces with opaque text. Users can choose Frosted or Liquid Glass style and adjust background opacity. Standard mode stays solid.
This is a draft because visible native blur and GPU/power behavior still need isolated-display verification. Hidden renderer screenshots are not native compositor evidence.
What Changed
windowBackgroundBlurandterminalBackgroundOpacity; add the optionalwindowGlassStylepreference. Controls remain in Settings → Appearance → Terminal → Window.transparent: trueor an opaque renderer backing. Uncover acrylic on Windows build 22621+. Keep Linux and unsupported windows opaque.NSGlassEffectViewor refraction.Enabling glass from fully opaque backgrounds selects opacity 0.8 so the effect is visible. Users can then choose any opacity, including 1. Style/opacity changes apply immediately; toggling the native material requires a restart.
Why
The existing opacity control cannot reveal desktop blur when an opaque native or renderer layer covers it. This connects native material availability to the renderer rather than applying whole-window opacity or layering blur filters on every pane.
Existing related PRs: #12470 and #3972. Their visual findings conflict. This draft adds capability publication, accessibility fallbacks, terminal lifecycle coverage, and rendered alpha checks; it does not claim those native visual uncertainties are resolved.
Linked Issue
#8797
Also considers the GPU regression reported in #8482. Do not close #8797 until native visual and power evidence supports it.
Visual Proof
Captured through Playwright from an isolated hidden Electron renderer. Glass screenshots retain their alpha channel; there is no simulated wallpaper. They show surface treatment, not the OS desktop blur. Assets are uploaded against the contributor's public fork because upstream attachment uploads require repository write permission.
Testing
pnpm lintpassed, including type-aware lint, compatibility ratchets, and localization gates.config/scripts/process-host-dev-rebuild.test.ts(six development watcher/rebuild cases) andsrc/main/cli/packaged-cli-assets.test.ts(macOS launcher case). The full suite is not claimed as passed.pnpm build: stops in the untouched native computer helper'slipostep because the expected arm64/x86_64 executable paths do not exist after Swift reports successful builds.@orca-cloud/relay-contract; no errors reported in the new glass spec.Local platform: macOS, Electron 43.7.8. Windows/Linux native appearance was not manually verified.
AI Disclosure
Implemented and reviewed with OpenAI Codex assistance. Commits use the contributor's Git identity with no AI coauthor trailers.
Review
Independent review caught and corrected a chat foreground-alpha leak. A rendered regression check now verifies opaque normal, strong, and faint chat text in both themes. Native constructor tests use a deterministic OS release so their Windows assertions do not depend on the test machine.
Agent skill upstream boundary
Notes
Checklist