{"id":29533571,"url":"https://github.com/Charlie-XIAO/tauri-plugin-desktop-underlay","last_synced_at":"2025-07-17T00:04:36.323Z","repository":{"id":255442124,"uuid":"850766331","full_name":"Charlie-XIAO/tauri-plugin-desktop-underlay","owner":"Charlie-XIAO","description":"Tauri plugin for making a window a desktop underlay, attached to the desktop, above the wallpaper, and below desktop icons.","archived":false,"fork":false,"pushed_at":"2025-07-08T12:59:08.000Z","size":22206,"stargazers_count":20,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-08T14:05:53.302Z","etag":null,"topics":["tauri","tauri-plugin"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Charlie-XIAO.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-09-01T18:05:22.000Z","updated_at":"2025-07-08T12:59:08.000Z","dependencies_parsed_at":"2025-05-20T08:26:25.215Z","dependency_job_id":"b8636800-70e4-416e-83dd-f4989ee031e5","html_url":"https://github.com/Charlie-XIAO/tauri-plugin-desktop-underlay","commit_stats":null,"previous_names":["charlie-xiao/tauri-plugin-desktop-underlay"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Charlie-XIAO/tauri-plugin-desktop-underlay","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Charlie-XIAO%2Ftauri-plugin-desktop-underlay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Charlie-XIAO%2Ftauri-plugin-desktop-underlay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Charlie-XIAO%2Ftauri-plugin-desktop-underlay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Charlie-XIAO%2Ftauri-plugin-desktop-underlay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Charlie-XIAO","download_url":"https://codeload.github.com/Charlie-XIAO/tauri-plugin-desktop-underlay/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Charlie-XIAO%2Ftauri-plugin-desktop-underlay/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265553053,"owners_count":23787018,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["tauri","tauri-plugin"],"created_at":"2025-07-17T00:01:51.261Z","updated_at":"2025-07-17T00:04:36.305Z","avatar_url":"https://github.com/Charlie-XIAO.png","language":"Rust","funding_links":[],"categories":["Development"],"sub_categories":["Plugins"],"readme":"# PLUGIN-DESKTOP-UNDERLAY\n\n[![tauri](https://img.shields.io/badge/Tauri%20Plugin-4A4A55?style=flat-square\u0026logo=tauri\u0026logoColor=00D1B2)](https://v2.tauri.app/)\n[![license](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](https://github.com/Charlie-XIAO/tauri-plugin-desktop-underlay/tree/main/LICENSE)\n[![npm](https://img.shields.io/npm/v/tauri-plugin-desktop-underlay-api?color=blue\u0026style=flat-square)](https://www.npmjs.com/package/tauri-plugin-desktop-underlay-api)\n[![npm](https://img.shields.io/npm/d18m/tauri-plugin-desktop-underlay-api?color=blue\u0026style=flat-square)](https://www.npmjs.com/package/tauri-plugin-desktop-underlay-api)\n[![crates.io](https://img.shields.io/crates/v/tauri-plugin-desktop-underlay.svg?color=blue\u0026style=flat-square)](https://crates.io/crates/tauri-plugin-desktop-underlay)\n[![crates.io](https://img.shields.io/crates/dr/tauri-plugin-desktop-underlay?color=blue\u0026style=flat-square)](https://crates.io/crates/tauri-plugin-desktop-underlay)\n[![docs.rs](https://img.shields.io/docsrs/tauri-plugin-desktop-underlay?color=blue\u0026style=flat-square)](https://docs.rs/tauri-plugin-desktop-underlay)\n\nTauri plugin for attaching a window to desktop, below icons and above wallpaper, referred to as a **desktop underlay**.\n\n- **Linux:** Not tested, thus not guaranteed to work.\n- **MacOS:** ✅\n- **Windows:** ✅\n\n## Examples\n\n- [Desktop Clock](https://github.com/Charlie-XIAO/tauri-plugin-desktop-underlay/tree/main/examples/desktop-clock) [[Demo](https://github.com/user-attachments/assets/894a5afb-269e-4158-af13-add266a69576)]\n\n## Install\n\nInstall the desktop underlay plugin by adding the following to your `Cargo.toml` file:\n\n```toml\n[dependencies]\ntauri-plugin-desktop-underlay = \"0.1.1\"\n```\n\nYou can install the JavaScript guest bindings using your preferred JavaScript package manager:\n\n```bash\nnpm install tauri-plugin-desktop-underlay-api # or\nyarn add tauri-plugin-desktop-underlay-api # or\npnpm add tauri-plugin-desktop-underlay-api\n```\n\n## Usage\n\nFirst you need to register the core plugin with Tauri:\n\n```rust\ntauri::Builder::default()\n    // Initialize the desktop-underlay plugin\n    .plugin(tauri_plugin_desktop_underlay::init())\n    .run(tauri::generate_context!())\n    .unwrap();\n```\n\nAfterwards all the plugin's APIs are available through the JavaScript guest bindings:\n\n```typescript\nimport {\n  setDesktopUnderlay,\n  isDesktopUnderlay,\n  toggleDesktopUnderlay,\n} from \"tauri-plugin-desktop-underlay-api\";\n```\n\nTo operate on the current window:\n\n```typescript\nconst isUnderlay = await isDesktopUnderlay();\nawait setDesktopUnderlay(true);\nawait setDesktopUnderlay(false);\nconst nowIsUnderlay = await toggleDesktopUnderlay();\n```\n\nTo operate on another window (say, with label `wallpaper`):\n\n```typescript\nconst isUnderlay = await isDesktopUnderlay(\"wallpaper\");\nawait setDesktopUnderlay(true, \"wallpaper\");\nawait setDesktopUnderlay(false, \"wallpaper\");\nconst nowIsUnderlay = await toggleDesktopUnderlay(\"wallpaper\");\n```\n\nIf you only intend on using the APIs from Rust code, you can import the `DesktopUnderlayExt` extension on windows and webview windows:\n\n```rust\nuse tauri_plugin_desktop_underlay::DesktopUnderlayExt;\n\nlet main_window = app.get_webview_window(\"main\").unwrap();\nlet is_underlay = main_window.is_desktop_underlay();\nlet _ = main_window.set_desktop_underlay(true);\nlet _ = main_window.set_desktop_underlay(false);\nlet now_is_underlay = main_window.toggle_desktop_underlay();\n```\n\n## Permissions\n\nSee [permissions reference](https://github.com/Charlie-XIAO/tauri-plugin-desktop-underlay/tree/main/permissions/autogenerated/reference.md). You do not need to add permissions if you are not using the JavaScript guest bindings.\n\n## Build from Source\n\nIf you want to try a local build, or you want to try the [examples](#examples) before deciding whether to use this plugin, you may need to build the source code:\n\n```bash\ngit clone https://github.com/Charlie-XIAO/tauri-plugin-desktop-underlay.git\npnpm install\npnpm build\n```\n\n## FAQ\n\nSee [FAQ](https://github.com/Charlie-XIAO/tauri-plugin-desktop-underlay/tree/main/FAQ.md) for the list of frequently asked questions. If these do not answer your question and you cannot find an answer in the [issue tracker](https://github.com/Charlie-XIAO/tauri-plugin-desktop-underlay/issues) either, consider [submitting a new issue](https://github.com/Charlie-XIAO/tauri-plugin-desktop-underlay/issues/new).\n\n## Contributing\n\nFeel free to open issues to report bugs or request features and improvements. Since I majorly develop on Windows, there could be many problems on Linux and macOS that I am not aware of. Pull requests are also welcome, though for larger changes it would be generally better to open an issue for discussion first.\n\n## License\n\nCopyright (c) 2024-2025 Yao Xiao [@Charlie-XIAO](https://github.com/Charlie-XIAO); this project is released under the [MIT License](https://github.com/Charlie-XIAO/tauri-plugin-desktop-underlay/tree/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCharlie-XIAO%2Ftauri-plugin-desktop-underlay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCharlie-XIAO%2Ftauri-plugin-desktop-underlay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCharlie-XIAO%2Ftauri-plugin-desktop-underlay/lists"}