use std::sync::{ Arc, atomic::{AtomicBool, Ordering}, }; use tauri::{Emitter, Manager, Runtime}; #[derive(Default)] pub struct WindowClickThroughState { pub monitoring_enabled: Arc, pub enabled: Arc, } pub fn set_pass_through_enabled( window: &tauri::Window, enabled: bool, ) -> Result<(), String> { let state = window.state::(); state.enabled.store(enabled, Ordering::Relaxed); window .set_ignore_cursor_events(enabled) .map_err(|e| format!("Failed to set pass-through state: {e}"))?; let _ = window.emit( "tauri-app:proj-airi:window-pass-through-on-hover:pass-through-enabled", enabled, ); Ok(()) }