4 * i3 - an improved dynamic tiling window manager
6 * (c) 2009 Michael Stapelberg and contributors
8 * See file LICENSE for license information.
17 * (Re-)draws window decorations for a given Client onto the given drawable/graphic context.
18 * When in stacking mode, the window decorations are drawn onto an own window.
21 void decorate_window(xcb_connection_t *conn, Client *client, xcb_drawable_t drawable, xcb_gcontext_t gc, int offset);
24 * Redecorates the given client correctly by checking if it’s in a stacking container and
25 * re-rendering the stack window or just calling decorate_window if it’s not in a stacking
29 void redecorate_window(xcb_connection_t *conn, Client *client);
32 * Renders the given container. Is called by render_layout() or individually (for example
33 * when focus changes in a stacking container)
36 void render_container(xcb_connection_t *conn, Container *container);
39 * Modifies the event mask of all clients on the given workspace to either ignore or to handle
40 * enter notifies. It is handy to ignore notifies because they will be sent when a window is mapped
41 * under the cursor, thus when the user didn’t enter the window actively at all.
44 void ignore_enter_notify_forall(xcb_connection_t *conn, Workspace *workspace, bool ignore_enter_notify);
47 * Renders the whole layout, that is: Go through each screen, each workspace, each container
48 * and render each client. This also renders the bars.
50 * If you don’t need to render *everything*, you should call render_container on the container
51 * you want to refresh.
54 void render_layout(xcb_connection_t *conn);