block / block/buzz

feat(desktop): enable glass background on Windows via Mica/Acrylic

Open
#6,693 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
32.7k
Forks
4.3k
Avg merge
1d 13h
Merged PRs (30d)
253

Description

## Motivation
The "Glass background" toggle in Settings > Appearance is visible
on Windows but permanently disabled ("Available in the macOS
desktop app"). Windows users see a teased feature they can't use.
On Linux the row is hidden entirely; on Windows it's a dead toggle.
The window-vibrancy crate — already a dependency — ships
apply_mica (Windows 11) and apply_acrylic (Windows 10), so
the platform gap is a backend wiring issue, not a library gap.

## Proposed solution
Wire the existing set_window_vibrancy Rust command to Windows:

1. desktop/src-tauri/src/commands/window_vibrancy.rs — add a
#[cfg(target_os = "windows")] branch that calls
apply_mica(&window, None, None) on enable and
clear_mica(&window) on disable. Fall back to apply_acrylic
on Windows 10 where Mica is unavailable.

2. desktop/src/shared/theme/ThemeProvider.tsx line 484 — change
glassBackgroundSupported from isTauri() && isMacPlatform()
to isTauri() && (isMacPlatform() || isWindowsPlatform()).

No frontend UI changes needed — once glassBackgroundSupported
is true, the existing toggle and opacity slider activate
automatically.

## Alternatives considered
- Hide the row on Windows (like Linux): simplest fix but
removes a discoverable feature that the dependency already
supports.
- *Use window-vibrancy's apply_acrylic for all Windows
versions*: simpler but Acrylic is lower quality than Mica on
Windows 11 and doesn't match the system Mica design language.

## Additional context
window-vibrancy crate: https://crates.io/crates/window-vibrancy
(supports macOS vibrancy, Windows Mica, Windows Acrylic)
- The macOS path uses apply_vibrancy / clear_vibrancy; the
Windows path would mirror that with apply_mica / clear_mica.
- Relevant files:
- desktop/src-tauri/src/commands/window_vibrancy.rs
- desktop/src/shared/theme/ThemeProvider.tsx
- desktop/src/features/settings/ui/AppearanceSettingsControls.tsx

---

Contributor guide

Open the contributing guide

Research direction

Start at desktop/src-tauri/src/commands/window_vibrancy.rs and trace the existing set_window_vibrancy command and macOS path. Then inspect the glassBackgroundSupported check at line 484 of desktop/src/shared/theme/ThemeProvider.tsx; the related AppearanceSettingsControls.tsx file shows the existing UI. Done means the toggle works with Mica on Windows 11 and Acrylic fallback on Windows 10 without frontend UI changes.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, tauri, typescript
Domain
design, desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.