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

@@ -7,6 +7,7 @@
#include <xcb/xproto.h>
#include "base/window_list.h"
#include "core/event.h"
#define ATOM_LIST(X) \
X(COMPOUND_TEXT) \
@@ -94,3 +95,9 @@ struct backend_t {
window_list_t map;
window_list_t kill;
};
bool populate_window_event(
struct backend_t *backend,
xcb_window_t window,
window_map_request_event_t *ev
);