From 5a35c5b92850db9fa632fac97e63360ac4fc6dbd Mon Sep 17 00:00:00 2001
From: GyDi <zzzgydi@gmail.com>
Date: Thu, 17 Nov 2022 22:53:41 +0800
Subject: [PATCH] refactor: fix

---
 src-tauri/src/feat.rs          |  7 ++++++-
 src-tauri/src/utils/resolve.rs | 14 +++++++-------
 2 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/src-tauri/src/feat.rs b/src-tauri/src/feat.rs
index 4436664..834c1bd 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 37c258c..9e6792e 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();
                     }
                 });
             }
-- 
GitLab