feat: unify window manager and optimize window show/hide logic

This commit is contained in:
wonfen
2025-06-17 13:02:47 +08:00
parent a67e8388a9
commit fc30fab9cd
6 changed files with 305 additions and 43 deletions

View File

@@ -272,10 +272,11 @@ impl Hotkey {
if is_enable_global_hotkey {
f();
} else if let Some(window) = app_handle.get_webview_window("main") {
} else {
use crate::utils::window_manager::WindowManager;
// 非轻量模式且未启用全局热键时,只在窗口可见且有焦点的情况下响应热键
let is_visible = window.is_visible().unwrap_or(false);
let is_focused = window.is_focused().unwrap_or(false);
let is_visible = WindowManager::is_main_window_visible();
let is_focused = WindowManager::is_main_window_focused();
if is_focused && is_visible {
f();