24 个版本
新 2.0.0-rc.1 | 2024 年 8 月 17 日 |
---|---|
2.0.0-beta.12 | 2024 年 7 月 31 日 |
2.0.0-beta.3 | 2024 年 3 月 21 日 |
2.0.0-alpha.6 | 2023 年 12 月 20 日 |
0.1.0 | 2022 年 6 月 19 日 |
#761 in GUI
5,239 每月下载量
68KB
470 行
保存窗口位置和大小,并在应用重新打开时恢复它们。
安装
此插件需要至少 Rust 版本 1.75
我们推荐以下三种一般安装方法。
- 使用 crates.io 和 npm(最简单,需要您信任我们的发布流程)
- 直接从 Github 使用 git 标签/版本哈希拉取源代码(最安全)
- 使用 Git 子模块在此 tauri 项目中安装此仓库,然后使用文件协议导入源代码(最安全,但使用不便)
通过向您的 Cargo.toml
文件添加以下内容安装核心插件
src-tauri/Cargo.toml
[dependencies]
tauri-plugin-window-state = "2.0.0-rc"
# alternatively with Git:
tauri-plugin-window-state = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v2" }
您可以使用您首选的 JavaScript 包管理器安装 JavaScript 客户端绑定
注意:由于大多数 JavaScript 包管理器无法从 git 单一仓库安装包,我们为每个插件提供了只读镜像。这使得安装选项 2 更易于使用。
pnpm add @tauri-apps/plugin-window-state
# or
npm add @tauri-apps/plugin-window-state
# or
yarn add @tauri-apps/plugin-window-state
# alternatively with Git:
pnpm add https://github.com/tauri-apps/tauri-plugin-window-state#v2
# or
npm add https://github.com/tauri-apps/tauri-plugin-window-state#v2
# or
yarn add https://github.com/tauri-apps/tauri-plugin-window-state#v2
用法
首先,您需要将核心插件与 Tauri 进行注册
src-tauri/src/main.rs
fn main() {
tauri::Builder::default()
.plugin(tauri_plugin_window_state::Builder::default().build())
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
之后,所有窗口都将记住在应用关闭时的状态,并在下一次启动时恢复到之前的状态。
可选地,您也可以通过使用 save_window_state()
方法(由 AppHandleExt
特性公开)或通过 JavaScript 来告诉插件保存所有打开窗口的状态到磁盘
use tauri_plugin_window_state::{AppHandleExt, StateFlags};
// `tauri::AppHandle` now has the following additional method
app.save_window_state(StateFlags::all()); // will save the state of all open windows to disk
或通过 JavaScript
import { saveWindowState, StateFlags } from "@tauri-apps/plugin-window-state";
saveWindowState(StateFlags.ALL);
要手动从磁盘恢复窗口状态,您可以调用由 restore_state()
方法(由 WindowExt
特性公开)
use tauri_plugin_window_state::{WindowExt, StateFlags};
// all `Window` types now have the following additional method
window.restore_state(StateFlags::all()); // will restore the windows state from disk
或通过 JavaScript
import {
restoreStateCurrent,
StateFlags,
} from "@tauri-apps/plugin-window-state";
restoreStateCurrent(StateFlags.ALL);
贡献
接受 PR。请在提出拉取请求之前务必阅读贡献指南。
合作伙伴
有关赞助商的完整列表,请访问我们的 网站 和 Open Collective。
许可协议
代码:© 2015 - 现在 - The Commons Conservancy 的 Tauri 程序。
适用于适用情况下的 MIT 或 MIT/Apache 2.0。
依赖项
~17–58MB
~882K SLoC