diff --git a/UPDATELOG.md b/UPDATELOG.md index 6fbb689a..553619bf 100644 --- a/UPDATELOG.md +++ b/UPDATELOG.md @@ -7,6 +7,10 @@ - 修复 macOS Intel X86 架构构建错误导致无法运行 - 修复 Linux 下界面边框白边问题 +### ✨ 新增功能 + +- 新增 window-state 窗口状态管理和恢复 + ## v2.3.0 **发行代号:御** diff --git a/src-tauri/packages/windows/installer.nsi b/src-tauri/packages/windows/installer.nsi index 35d7eb96..15a2689e 100644 --- a/src-tauri/packages/windows/installer.nsi +++ b/src-tauri/packages/windows/installer.nsi @@ -916,9 +916,9 @@ FunctionEnd !macroend Section Uninstall - ;删除 .window-state.json 文件 + ;删除 window-state.json 文件 SetShellVarContext current - Delete "$APPDATA\io.github.clash-verge-rev.clash-verge-rev\.window-state.json" + Delete "$APPDATA\io.github.clash-verge-rev.clash-verge-rev\window-state.json" !insertmacro CheckIfAppIsRunning !insertmacro CheckAllVergeProcesses @@ -1015,9 +1015,9 @@ Section Uninstall RmDir /r "$LOCALAPPDATA\${BUNDLEID}" ${EndIf} - ;删除 .window-state.json 文件 + ;删除 window-state.json 文件 SetShellVarContext current - Delete "$APPDATA\io.github.clash-verge-rev.clash-verge-rev\.window-state.json" + Delete "$APPDATA\io.github.clash-verge-rev.clash-verge-rev\window-state.json" ${GetOptions} $CMDLINE "/P" $R0 IfErrors +2 0 diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 5836cb69..961d898c 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -162,6 +162,14 @@ pub fn run() { }); }); + // 窗口管理 + logging!(info, Type::Setup, true, "初始化窗口状态管理..."); + let window_state_plugin = tauri_plugin_window_state::Builder::new() + .with_filename("window_state.json") + .with_state_flags(tauri_plugin_window_state::StateFlags::default()) + .build(); + let _ = app.handle().plugin(window_state_plugin); + // 异步处理 let app_handle = app.handle().clone(); AsyncHandler::spawn(move || async move {