From 6b7ba0032922dbf3626df684423810757b13e8e3 Mon Sep 17 00:00:00 2001 From: Pavlo Myroniuk Date: Mon, 10 Aug 2026 20:30:11 +0300 Subject: [PATCH] Refactor toggle_app_visibility for clarity and debugging --- dataans/src-tauri/src/main.rs | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/dataans/src-tauri/src/main.rs b/dataans/src-tauri/src/main.rs index de3e3f3..daf7fe7 100644 --- a/dataans/src-tauri/src/main.rs +++ b/dataans/src-tauri/src/main.rs @@ -35,16 +35,23 @@ const BACKUPS_DIR: &str = "backups"; fn toggle_app_visibility(app: &AppHandle) -> Result<()> { if let Some(window) = app.get_webview_window(MAIN_WINDOW_NAME) { - if window.is_visible().unwrap_or(false) && window.is_focused().unwrap_or(false) { - info!("Hide main window"); + let is_visible = window.is_visible(); + let is_focused = window.is_focused(); + debug!(?is_visible, ?is_focused); + + let is_visible = is_visible.unwrap_or(false); + let is_focused = is_focused.unwrap_or(false); + + if is_visible && is_focused { + debug!("Hide main window"); window.hide()?; - } else if window.is_visible().unwrap_or(false) && !window.is_focused().unwrap_or(false) { - info!("Focus main window"); - // `.set_focus()` doesn't work well on Linux, so we have to hide and show the window to bring it to the front. + } else if is_visible && !is_focused { + debug!("Focus main window"); window.hide()?; window.show()?; + window.set_focus()?; } else { - info!("Show main window"); + debug!("Show main window"); window.show()?; } } else {