Today we'll look at how you can make a beautiful Acrylic window effect with Tauri, Nuxt and window-vibrancy (Remember rounded corners won't work).
You won't be able to drag/close/minimize your app after this
(still possible with the taskbar icon) because we have to remove the titlebar. To make it work again, you will have to make your own. I will upload a tutorial on how to do that soon.
Okay, first open tauri.conf.json and add "decorations": false,"transparent": true to "windows" in "tauri" like this:
"tauri": { "windows": [ { ... "decorations": false, "transparent": true } ], ... } After that, remove <NuxtWelcome /> from app.vue and add style tags:
<template> </template> <style> </style> In style make HTML and body full sized + transparent:
<style> * { margin: 0; padding: 0; } html, body { background-color: rgba(0, 0, 0, 10%); height: 100%; overflow: hidden; } </style> You should now see a black, transparent and empty window (ignore that thing at the bottom mid on my example).

Now let's get to the interesting part. To add the acrylic effect, open src-tauri/Cargo.toml and add window-vibrancy = "0.4.0" to [dependencies]:
[dependencies] serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } tauri = { version = "1.4.0", features = ["api-all"] } window-vibrancy = "0.4.0" Next, open src-tauri/src/main.rs (full code on GitHub) and do as follows:
Add this at the top of the file below the first 2 lines:
use tauri::Manager; use window_vibrancy::{apply_acrylic}; Finally, add this below tauri::Builder::default():
.setup(|app| { let window = app.get_window("main").unwrap(); apply_acrylic(&window, Some((0, 0, 0, 10))); Ok(()) }) Some((R, G, B, A)) is RGBA, so change it to what you prefer.
Ha, that was easy!
If you have any questions/problems/ideas, feel free to add me on discord: waradu.
src-tauri/src/main.rs:
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] use tauri::Manager; use window_vibrancy::{apply_acrylic}; fn main() { tauri::Builder::default() .setup(|app| { let window = app.get_window("main").unwrap(); apply_acrylic(&window, Some((0, 0, 0, 10))); Ok(()) }) .run(tauri::generate_context!()) .expect("error while running tauri application"); }

Top comments (0)