Add configurable native glass window backgrounds
This commit is contained in:
1 parent
19d949fd13
commit
981991bac0
14 files changed
+687
-5
No files matched your search
@@ -0,0 +1,42 @@
|
||||
# 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.
|
||||
Reference in new issue
Block a user