window-vibrancy

Apply native blur, acrylic, mica, and vibrancy effects to desktop windows in Rust.

Library
Cargo
v0.8.0
1,032stars
Apache-2.0 OR MIT

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
67/100Good
Development Activity64
Maintenance48
Community60
Maturity56
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
83/100Excellent
Architecture84
Code Quality82
Innovation80
Learning Curve85

window-vibrancy is a Rust crate from the Tauri team that applies native translucency and blur effects to desktop application windows. With a few function calls you can enable Windows acrylic, blur, and mica backdrops or macOS vibrancy, NSVisualEffect materials, and the newer macOS 26 liquid glass effect — giving native apps the frosted, depth-aware look users expect from the OS.

It operates on any window that exposes a raw window handle, so it works with Tauri, winit, tao, and other windowing libraries rather than being tied to one framework. Platform differences are handled behind clearly named, per-platform functions, and the crate is honest about limitations (Linux vibrancy is left to the compositor). With over 13 million downloads it is the standard way to add native window effects in the Rust desktop ecosystem.

What You Get

  • apply_blur, apply_acrylic, and apply_mica for native Windows backdrop effects
  • apply_vibrancy with NSVisualEffectMaterial/state and apply_liquid_glass for macOS
  • Typed enums (NSVisualEffectMaterial, NSGlassEffectViewStyle) for selecting exact effect styles
  • clear_* functions to remove previously applied effects
  • Compatibility with any raw-window-handle source: Tauri, winit, tao, and more

Common Use Cases

  • Giving a Tauri desktop app a frosted, translucent window background
  • Adding native mica or acrylic material to a winit/tao application on Windows
  • Applying macOS vibrancy or liquid glass to match the platform’s native aesthetic

Under The Hood

Architecture The crate’s public surface lives in src/lib.rs, which re-exports typed effect enums and defines the apply_*/clear_* functions plus a Color RGBA tuple type. Platform implementations are isolated in two private modules — src/macos (using AppKit’s NSVisualEffectView and the newer NSGlassEffectView) and src/windows.rs (calling undocumented DWM/SetWindowCompositionAttribute APIs). #[cfg(target_os = ...)] gates route each public call to the correct backend, and functions accept anything implementing raw-window-handle so the crate stays decoupled from any specific windowing library.

Tech Stack Pure Rust (edition 2021, rust-version 1.77) depending on raw-window-handle for the cross-library handle abstraction, plus windows-sys for the Win32 FFI and Objective-C interop for the macOS side. Dependency updates are automated with Renovate.

Code Quality The code is small and focused (~40 KB of Rust) with an examples directory, a maintained CHANGELOG, and clear doc comments that candidly document platform caveats — including performance warnings for specific Windows 11 builds and the fact that Linux effects are compositor-controlled. Effect materials and states are modeled as explicit enums rather than magic constants.

API Design The API is deliberately minimal: a handful of verb-named free functions (apply_blur, apply_vibrancy, apply_liquid_glass) that each return a Result signaling unsupported platforms. Builder-style options (LiquidGlassOptions::new(...).radius(...).opaque(...)) keep richer effects ergonomic. Because platform gating is the caller’s responsibility via cfg, onboarding is fast and the README example is essentially copy-paste ready.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search