A Tauri plugin to set your window as wallpaper behind desktop icons
- Windows
- MacOS
- Linux
-
cargo
cargo add tauri-plugin-wallpaper@2
-
npm
npm install tauri-plugin-wallpaper@2
- cargo
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![show, hide])
.plugin(tauri_plugin_wallpaper::init()) // add this line
.setup(|app| {
let app_handle = app.handle();
let webview_window = app_handle.get_webview_window("wallpaper").unwrap();
// attach window to wallpaper
app_handle
.wallpaper()
.attach_window(&webview_window)
.unwrap();
// attach using window label identifier
app_handle
.wallpaper()
.attach(AttachRequest::new("window_label"))
.unwrap();
// detach window from wallpaper
app_handle
.wallpaper()
.detach_window(&webview_window)
.unwrap();
// detach using window label identifier
app_handle
.wallpaper()
.detach(DetachRequest::new("window_label"))
.unwrap();
// reset wallpaper
app_handle.wallpaper().reset().unwrap();
Ok(())
})
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
- npm
import wallpaper from "tauri-plugin-wallpaper";
// or import { attach, detach, reset } from "tauri-plugin-wallpaper";
// Attach current window as wallpaper
wallpaper.attach();
// or using window label identifier
wallpaper.attach("window-label");
// detach current window from wallpaper
wallpaper.detach();
// or using window label identifier
wallpaper.detach("window-label");
// reset wallpaper
wallpaper.reset();
If you want to use the javascript bindings, you need to add the following permissions.
default.json
{
"identifier": "default",
"description": "enables the default permissions",
"windows": [
...
],
"permissions": [
"core:default",
"wallpaper:default" // add this line
]
}
See reference for more permissions options.