2.3 KiB
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.