backend: X11 后端 window 信息查询接口使用原始封装代替语义化封装

- 拆分 window_get_skip_taskbar / window_get_urgency /
  window_get_states / window_get_geometry_mode 为更底层的
  window_get_atom_array / window_get_wm_hints / atom_to_window_state
- window_get_fixed_size 改为输出参数风格
- 扁平化 window_map_request_event_t,内联原 window_props_t 和
  window_geometry_t 的字段
- window_props_t → window_layer_props_t,仅保留 layer 分类所需的
  types/states
This commit is contained in:
2026-04-09 05:08:39 +08:00
parent 3884d3fc50
commit 0c7fdf08df
7 changed files with 159 additions and 197 deletions

View File

@@ -30,19 +30,13 @@ typedef enum window_state_t {
ZDWM_WINDOW_STATE_STICKY,
} window_state_t;
typedef struct window_props_t {
window_id_t transient_for;
bool override_redirect;
bool skip_taskbar;
bool urgent;
typedef struct window_layer_props_t {
window_type_t *types;
size_t type_count;
window_state_t *states;
size_t state_count;
} window_props_t;
} window_layer_props_t;
typedef struct window_metadata_t {
char *title;
@@ -51,9 +45,3 @@ typedef struct window_metadata_t {
char *class_name;
char *instance_name;
} window_metadata_t;
typedef struct window_geometry_t {
window_geometry_mode_t mode;
rect_t rect;
bool fixed_size;
} window_geometry_t;