diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 19b7489b..a199cf1e 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -10,7 +10,9 @@ use config::Config; use tauri_plugin_autostart::MacosLauncher; use tauri_plugin_deep_link::DeepLinkExt; use std::sync::{Mutex, Once}; -use tauri::{AppHandle, Manager}; +use tauri::AppHandle; +#[cfg(target_os = "macos")] +use tauri::Manager; /// A global singleton handle to the application. pub struct AppHandleManager { @@ -203,8 +205,11 @@ pub fn run() { app.run(|app_handle, e| match e { tauri::RunEvent::Ready | tauri::RunEvent::Resumed => { AppHandleManager::global().init(app_handle.clone()); - let main_window = AppHandleManager::global().get_handle().get_webview_window("main").unwrap(); - let _ = main_window.set_title("Clash Verge"); + #[cfg(target_os = "macos")] + { + let main_window = AppHandleManager::global().get_handle().get_webview_window("main").unwrap(); + let _ = main_window.set_title("Clash Verge"); + } } #[cfg(target_os = "macos")] tauri::RunEvent::Reopen { has_visible_windows, .. } => { @@ -222,6 +227,7 @@ pub fn run() { if label == "main" { match event { tauri::WindowEvent::CloseRequested { api, .. } => { + #[cfg(target_os = "macos")] AppHandleManager::global().set_activation_policy_accessory(); if core::handle::Handle::global().is_exiting() { return; diff --git a/src-tauri/src/utils/resolve.rs b/src-tauri/src/utils/resolve.rs index 4b160005..88844c77 100644 --- a/src-tauri/src/utils/resolve.rs +++ b/src-tauri/src/utils/resolve.rs @@ -1,7 +1,9 @@ use crate::config::IVerge; use crate::utils::error; use crate::{config::Config, config::PrfItem, core::*, utils::init, utils::server}; -use crate::{log_err, wrap_err, AppHandleManager}; +use crate::{log_err, wrap_err}; +#[cfg(target_os = "macos")] +use crate::AppHandleManager; use anyhow::{bail, Result}; use once_cell::sync::OnceCell; use percent_encoding::percent_decode_str; @@ -133,6 +135,7 @@ pub fn create_window() { log::info!(target: "app", "Starting to create window"); let app_handle = handle::Handle::global().app_handle().unwrap(); + #[cfg(target_os = "macos")] AppHandleManager::global().set_activation_policy_regular(); if let Some(window) = handle::Handle::global().get_window() {