42 lines
2.3 KiB
Markdown
42 lines
2.3 KiB
Markdown
# Configurable window backgrounds
|
|||
|
|
|
||
|
|
Settings → Appearance offers Solid, Glass and Frosted glass. Preferences are
|
||
|
|
saved locally. The tint-strength control ranges from 70 to 100%; the default
|
||
|
|
is Frosted glass at 90%. Glass uses the direct tint; Frosted glass adds a 35%
|
||
|
|
milk layer beneath it. This changes background treatment, never text opacity.
|
||
|
|
|
||
|
|
Search input, result and preview panes and settings retain opaque reading
|
||
|
|
surfaces. Shell secondary text becomes stronger over translucent backgrounds.
|
||
|
|
High contrast immediately forces an opaque surface without changing the saved
|
||
|
|
preference. Appearance writes are serialized; obsolete replies cannot overwrite
|
||
|
|
the latest preference or accessibility state.
|
||
|
|
|
||
|
|
## Platform support
|
||
|
|
|
||
|
|
Windows 11 22H2 and newer use a transparent WebView and the established
|
||
|
|
window-vibrancy crate's native acrylic implementation. Glass and Frosted glass
|
||
|
|
share that native blur; their frontend milk tint differs. Desktop composition
|
||
|
|
and OS high-contrast checks precede application, and native HRESULT failure
|
||
|
|
returns an explicit solid fallback. Native window chrome remains enabled.
|
||
|
|
|
||
|
|
Older Windows, macOS and Linux currently use a solid fallback. This macOS build
|
||
|
|
does not enable private WebView transparency APIs. CSS backdrop-filter is not
|
||
|
|
used to pretend the desktop is blurred. The settings report the effective
|
||
|
|
material and explain the fallback.
|
||
|
|
|
||
|
|
## Recorded checks, 2026-10-13
|
||
|
|
|
||
|
|
- 57 frontend tests passed, including missing native capability, high contrast,
|
||
|
|
bounded tint, serialized pending preferences and stale failure handling.
|
||
|
|
- Frontend type checking, production build and formatting passed.
|
||
|
|
- 33 desktop Rust tests passed with one test thread; settings checks cover legacy
|
||
|
|
defaults, persisted preferences and invalid-value rejection preserving the
|
||
|
|
previous file and memory. An earlier parallel run hit a transient Windows
|
||
|
|
AccessDenied in an existing atomic-settings replacement test.
|
||
|
|
- Desktop Rust formatting and strict all-target Clippy passed.
|
||
|
|
|
||
|
|
Actual native material appearance and resize/compositor performance remain
|
||
|
|
unverified. Enabled browser inventory was empty; native Windows capture/input
|
||
|
|
access was unavailable. These checks establish implementation and persistence,
|
||
|
|
not visual quality on release hardware. macOS/Linux native materials remain
|
||
|
|
future work.
|