Skip to content

A Tauri plugin to set your window as wallpaper behind desktop icons

Notifications You must be signed in to change notification settings

meslzy/tauri-plugin-wallpaper

Repository files navigation

Tauri Plugin Wallpaper (✨)

A Tauri plugin to set your window as wallpaper behind desktop icons


license issues stars


Available platforms (🚧)

  • Windows
  • MacOS
  • Linux

Getting Started (✅)

Installation (⏬)

  • cargo

    cargo add tauri-plugin-wallpaper@2
  • npm

    npm install tauri-plugin-wallpaper@2

How to use (🌠)

  • 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();

Permissions (🔑)

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.


The End (💘)

About

A Tauri plugin to set your window as wallpaper behind desktop icons

Topics

Resources

Stars

Watchers

Forks