Skip to content

fix(appearance): apply background opacity once across terminal and Settings - #698

Open
ventupx wants to merge 1 commit into
Kuddev:mainfrom
ventupx:fix/shared-window-opacity
Open

ventupx wants to merge 1 commit into
Kuddev:mainfrom
ventupx:fix/shared-window-opacity

Conversation

@ventupx

@ventupx ventupx commented Oct 21, 2026 •

Copy link
Copy Markdown

Result / 用户结果

The opacity slider now affects both terminal and Settings backgrounds while leaving text and dialogs opaque. Intermediate values such as 80% remain visible because the window root no longer adds a second opaque/background fill.

Design / 设计边界

The workspace card remains the single owner of content background alpha; Settings stops painting a second background. Root initialization and later background refresh both use a transparent fill, including when native wallpaper is absent. Existing material/wallpaper ownership and saved opacity values are preserved; no new configuration format or dependency is introduced.

This focused branch starts from upstream 8d6295595e084a12f9c2fe159f65c2dcd332d866. It excludes fork release/version/package metadata. Under the repository's pr-size exclusions, it changes 151 counted lines, within the 1500-line default.

Evidence / 验证依据

Executed on Windows against this branch:

  • python scripts/check_architecture.py --base upstream/main — passed; existing budgets unchanged.
  • python -m unittest scripts.tests.test_architecture_budgets scripts.tests.test_architecture_dependencies scripts.tests.test_architecture_governance — successful (55 tests, 3 platform-specific skips).
  • cargo test --manifest-path tools/i18n-contract/Cargo.toml --locked — 24 passed, 1 existing ignored test.
  • cargo test -p nebula-settings --locked — 99 passed.
  • cargo test -p nebula --test file_line_budget --locked — 2 passed.
  • cargo fmt --all -- --check and git diff --cached --check — passed.
  • cargo check -p nebula --bin pebrel --features gpui-test-support --tests --locked — passed.
  • cargo test -p nebula --bin pebrel --features gpui-test-support --locked --no-run — passed. Targeted GPUI tests use the same interaction-test feature as upstream CI and the filters below with -- --test-threads=1: 28 passed.

Filters: gpui_shell::theme::, wallpaper::tests::, setting_help::tests::, workspace::settings_navigation::ui_tests::.

Regression coverage: A real GPUI Root stays transparent after initialization and opacity refresh; terminal and Settings alpha track 100/80/50/20/0% in dark/light themes; text and dialog backgrounds remain opaque; wallpaper request/cache/layout regressions are covered.

Localization: The title and concise description use typed messages in all 11 supported locales, describing the shared background behavior.

Visual/platform scope: the integrated changes were manually reviewed in a Windows preview before this split. These branch checks exercise rendered hitboxes/state and keyboard input where applicable; new screenshot captures and a DPI matrix were not run for this head. Linux/macOS current-head validation is left to upstream CI. The earlier full integrated-source validation passed 24 jobs at 6e86ea5c3ff29671043dfc62a788f1d4fde80732; that is supplemental evidence, not a check result for this PR head.

Runtime cost: Removes duplicate background painting; uses the existing live refresh path. No new polling or background task and no dedicated compositing benchmark.

Required Review / 必须确认

  • Followed CONTRIBUTING.md, docs/architecture.md, and docs/project-constraints.md.
  • Split by responsibility; no duplicate behavior authority.
  • Architecture check against the upstream target passes; budgets were not inflated.
  • Relevant success/failure/cancellation regressions are covered; platform and visual limitations are stated above.
  • New messages use typed i18n IDs and matching placeholders, with explicit fallback where untranslated.
  • Governance-rule changes: not applicable; none included. Maintainer review and required upstream checks remain necessary before merge.

@ventupx
ventupx requested a review from Kuddev as a code owner October 21, 2026 07:25
@ventupx
ventupx force-pushed the fix/shared-window-opacity branch from 238441c to f1d9f2f Compare October 21, 2026 07:54
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