diff --git a/desktop-client/src-tauri/src/lib.rs b/desktop-client/src-tauri/src/lib.rs index 27e205b..469b629 100644 --- a/desktop-client/src-tauri/src/lib.rs +++ b/desktop-client/src-tauri/src/lib.rs @@ -341,7 +341,13 @@ fn ensure_app_dir(app: &AppHandle) -> Result { Ok(dir) } -fn restore_main_window(window: &Window) { +fn restore_window(window: &Window) { + let _ = window.show(); + let _ = window.unminimize(); + let _ = window.set_focus(); +} + +fn restore_webview_window(window: &WebviewWindow) { let _ = window.show(); let _ = window.unminimize(); let _ = window.set_focus(); @@ -368,7 +374,7 @@ pub fn run() { .on_menu_event(|app, event| match event.id().as_ref() { "open" => { if let Some(window) = app.get_webview_window(MAIN_WINDOW_LABEL) { - restore_main_window(&window); + restore_webview_window(&window); } } "quit" => { @@ -385,7 +391,7 @@ pub fn run() { { let app = tray.app_handle(); if let Some(window) = app.get_webview_window(MAIN_WINDOW_LABEL) { - restore_main_window(&window); + restore_webview_window(&window); } } }) @@ -406,6 +412,9 @@ pub fn run() { hide_main_window(window); } } + WindowEvent::Focused(true) => { + restore_window(window); + } _ => {} }) .invoke_handler(tauri::generate_handler![load_state, enroll_device, sync_profile, connect_tunnel, disconnect_tunnel])