diff --git a/src-tauri/src/feat.rs b/src-tauri/src/feat.rs index 4436664f0f..834c1bd0ab 100644 --- a/src-tauri/src/feat.rs +++ b/src-tauri/src/feat.rs @@ -153,7 +153,12 @@ pub async fn patch_clash(patch: Mapping) -> Result<()> { }; // 激活配置 - handle_activate().await?; + if mixed_port.is_some() + || patch.get("secret").is_some() + || patch.get("external-controller").is_some() + { + handle_activate().await?; + } // 更新系统代理 if mixed_port.is_some() { diff --git a/src-tauri/src/utils/resolve.rs b/src-tauri/src/utils/resolve.rs index 37c258c177..9e6792e9d7 100644 --- a/src-tauri/src/utils/resolve.rs +++ b/src-tauri/src/utils/resolve.rs @@ -60,31 +60,31 @@ pub fn create_window(app_handle: &AppHandle) { #[cfg(target_os = "windows")] { - use crate::utils::winhelp; use std::time::Duration; use tokio::time::sleep; use window_shadows::set_shadow; - use window_vibrancy::apply_blur; match builder .decorations(false) .transparent(true) .inner_size(800.0, 636.0) + .visible(false) .build() { Ok(_) => { let app_handle = app_handle.clone(); + if let Some(window) = app_handle.get_window("main") { + let _ = set_shadow(&window, true); + } + tauri::async_runtime::spawn(async move { sleep(Duration::from_secs(1)).await; if let Some(window) = app_handle.get_window("main") { let _ = window.show(); - let _ = set_shadow(&window, true); - - if !winhelp::is_win11() { - let _ = apply_blur(&window, None); - } + let _ = window.unminimize(); + let _ = window.set_focus(); } }); }