window-vibrancy
Apply native blur, acrylic, mica, and vibrancy effects to desktop windows in Rust.
Repository Health
Technical Analysis
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.
Used by 2 apps in this directory
NeoHtop
Monitoring
A cross-platform desktop system monitor built with Rust, Tauri, and Svelte that gives real-time process visibility with a modern, themable UI.
Onyx
AI Assistants · AI Agents · Knowledge Management
Self-hostable AI platform with agentic RAG, 50+ connectors, deep research, code execution, and support for every major LLM provider.