feat(tray): 处理 SYSTEM_TRAY_REQUEST_DOCK 实现图标嵌入托盘容器
- 注册 _NET_SYSTEM_TRAY_OPCODE 与 _XEMBED atom - 在事件分发中拦截托盘 client message - tray_add_icon 将请求 dock 的窗口 reparent 到 container, 发送 XEMBED_EMBEDDED_NOTIFY 并 map,维护 icons 数组并 触发图标变更回调
This commit is contained in:
@@ -9,6 +9,7 @@ extern const tray_api_t tray_api;
|
||||
|
||||
typedef struct backend_t backend_t;
|
||||
|
||||
/* TODO: 添加窗口背景色 */
|
||||
void tray_init(
|
||||
backend_t *backend,
|
||||
xcb_window_t host_window,
|
||||
@@ -16,3 +17,8 @@ void tray_init(
|
||||
int32_t host_height
|
||||
);
|
||||
void tray_cleanup(backend_t *backend);
|
||||
|
||||
bool tray_handle_client_message(
|
||||
backend_t *backend,
|
||||
const xcb_client_message_event_t *ev
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user