backend: X11 后端添加窗口几何信息查询并修正错误语义

- 添加 window_get_geometry/window_get_fixed_size/window_get_geometry_mode
- window_get_atom_array 改为 bool 返回,区分 XCB 调用错误和空数据
- window_get_types/window_get_states 属性为空时返回 true 而非 false
- handle_map_request 重排操作顺序:错误检查提前,失败路径无内存泄漏
- 补充 _NET_WM_STATE_MAXIMIZED_VERT/HORZ atom 注册
This commit is contained in:
2026-04-09 02:23:06 +08:00
parent 0edb6ad6aa
commit 3884d3fc50
6 changed files with 141 additions and 32 deletions

View File

@@ -17,6 +17,8 @@ typedef struct atoms_t {
xcb_atom_t _NET_WM_STATE_STICKY;
xcb_atom_t _NET_WM_STATE_MODAL;
xcb_atom_t _NET_WM_STATE_SKIP_TASKBAR;
xcb_atom_t _NET_WM_STATE_MAXIMIZED_VERT;
xcb_atom_t _NET_WM_STATE_MAXIMIZED_HORZ;
xcb_atom_t _NET_WM_WINDOW_TYPE;
xcb_atom_t _NET_WM_WINDOW_TYPE_NORMAL;