| Crates.io | tauri-plugin-theme |
| lib.rs | tauri-plugin-theme |
| version | 2.1.3 |
| created_at | 2023-09-29 10:13:30.880553+00 |
| updated_at | 2025-03-09 11:10:08.417029+00 |
| description | Dynamically change Tauri App theme |
| homepage | |
| repository | https://github.com/wyhaya/tauri-plugin-theme |
| max_upload_size | |
| id | 987152 |
| size | 165,982 |
Tauri currently doesn't support dynamically change app theme, this plugin makes up for that.
https://github.com/wyhaya/tauri-plugin-theme/assets/23690145/2422ce95-418d-4f07-adf5-e78af2552f51
[!NOTE]
This only applies to theTauri 2xversion. If you are using the Tauri 1x version, please refer to tauri-1x-version.
cargo add tauri-plugin-theme
let mut ctx = tauri::generate_context!();
tauri::Builder::default()
// Init plugin and auto restore window theme !!!
.plugin(tauri_plugin_theme::init(ctx.config_mut()))
// ...
.run(ctx)
// ...
Add to src-tauri/capabilities/default.json
{
...
"permissions": [
...
"theme:default"
]
}
// Follow system theme setting
invoke("plugin:theme|set_theme", {
theme: "auto",
});
// Always use light theme
invoke("plugin:theme|set_theme", {
theme: "light",
});
// Always use dark theme
invoke("plugin:theme|set_theme", {
theme: "dark",
});
// Get saved theme (default: auto)
const theme = await invoke("plugin:theme|get_theme");
When you call set_theme, the theme will be auto saved, and it will be restored auto after the App restart.
| MacOS | Linux | Windows | Android | iOS |
|---|---|---|---|---|
| ✅ | ✅ | ✅ | ❌ | ❌ |
Requires WebView2 Runtime version 101.0.1210.39(May 9, 2022) or higher; otherwise, the app will complete the theme change by restart.
On Linux platform, it has not been extensively tested.