Skip to main content

zerolaunch_plugin_api/services/focus_monitor/
monitor.rs

1use crate::services::focus_monitor::types::FocusCallback;
2
3/// 聚焦监控器 trait,定义平台无关的窗口焦点检测能力契约。
4/// 各平台实现此 trait,处理平台特定的窗口事件监听。
5/// 支持多个回调注册,窗口失去焦点时依次调用所有回调。
6/// 推送式(push-based)服务,与 InstallationMonitor / HotkeyManager 一致。
7///
8/// FocusMonitor 是强制启用的系统服务,构造即开始监控,不可停止。
9pub trait FocusMonitor: Send + Sync {
10    /// 注册焦点事件回调。
11    fn register_callback(&self, id: &str, callback: FocusCallback);
12
13    /// 注销焦点事件回调。
14    fn unregister_callback(&self, id: &str);
15}