feat(runtime): 启动时扫描并接管已有窗口

从 handle_map_request 中提取 populate_window_event 供复用,
新增 backend_scan_windows 扫描 X11 根窗口子树,
runtime_scan 将扫描到的窗口走完整 policy 流程纳入管理。
route_map_request 增加 override_redirect 过滤。
This commit is contained in:
2026-05-07 06:36:58 +08:00
parent c1a4795a85
commit 9275d14c5f
7 changed files with 141 additions and 23 deletions

View File

@@ -37,3 +37,17 @@ bool backend_apply_effect(
const effect_t *effects,
size_t effect_count
);
typedef struct backend_scan_result_t {
window_map_request_event_t *windows;
size_t count;
size_t capacity;
} backend_scan_result_t;
/**
* @brief 扫描已有窗口
*
* @details 仅扫描窗口并获取其基础信息
*/
backend_scan_result_t *backend_scan_windows(backend_t *backend);
void backend_scan_result_destroy(backend_scan_result_t *result);