backend: X11 后端添加窗口属性和状态查询接口

This commit is contained in:
2026-04-08 19:32:53 +08:00
parent 0f8c35ae6c
commit 0edb6ad6aa
5 changed files with 259 additions and 0 deletions

View File

@@ -1,8 +1,10 @@
#pragma once
#include <stddef.h>
#include <xcb/xproto.h>
#include "core/backend.h"
#include "core/window.h"
/**
* @brief 获取窗口的 role 属性
@@ -31,3 +33,14 @@ char *window_get_title(backend_t *backend, xcb_window_t window);
*/
void window_get_class(backend_t *backend, xcb_window_t window, char **class_out,
char **instance_out);
xcb_window_t window_get_transient_for(backend_t *backend, xcb_window_t window);
xcb_get_window_attributes_reply_t *window_get_attributes(backend_t *backend,
xcb_window_t window);
bool window_get_skip_taskbar(backend_t *backend, xcb_window_t window);
bool window_get_urgency(backend_t *backend, xcb_window_t window);
bool window_get_types(backend_t *backend, xcb_window_t window,
window_type_t **types, size_t *count);
bool window_get_states(backend_t *backend, xcb_window_t window,
window_state_t **states, size_t *count);