/* SPDX-License-Identifier: MIT OR X11 * * Copyright © 2024 Enrico Weigelt, metux IT consult */ #ifndef __XNEST__XCB_H #define __XNEST__XCB_H #include #include "Xnest.h" typedef struct { xcb_connection_t *conn; uint32_t screenId; const xcb_screen_t *screenInfo; const xcb_setup_t *setup; } xnestUpstreamInfoRec; extern xnestUpstreamInfoRec xnestUpstreamInfo; /* fetch upstream connection's xcb setup data */ void xnest_upstream_setup(void); /* retrieve upstream GC XID for our xserver GC */ uint32_t xnestUpstreamGC(GCPtr pGC); typedef XSetWindowAttributes XnSetWindowAttr; void xnest_encode_window_attr(XnSetWindowAttr attr, uint32_t mask, uint32_t *values); typedef struct { int x, y; int width, height; int border_width; uint32_t sibling; int stack_mode; } XnWindowChanges; void xnest_configure_window(xcb_connection_t *conn, uint32_t window, uint32_t mask, XnWindowChanges values); #endif /* __XNEST__XCB_H */