X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fx.h;h=07f8a725cfb3a8e3c52eefbfd94246b28951bd6d;hb=294d52e0180ea81bd18606fa604486026855691a;hp=df4ee276723de7dae194efbee9134505d34c3756;hpb=2728c0246794df9eae0a12d77f32d7bd0031df6f;p=i3%2Fi3 diff --git a/include/x.h b/include/x.h index df4ee276..07f8a725 100644 --- a/include/x.h +++ b/include/x.h @@ -1,9 +1,14 @@ /* * vim:ts=4:sw=4:expandtab + * + * i3 - an improved dynamic tiling window manager + * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE) + * + * x.c: Interface to X11, transfers our in-memory state to X11 (see also + * render.c). Basically a big state machine. + * */ - -#ifndef _X_H -#define _X_H +#pragma once /** Stores the X11 window ID of the currently focused window */ extern xcb_window_t focused_id; @@ -13,7 +18,7 @@ extern xcb_window_t focused_id; * every container from con_new(). * */ -void x_con_init(Con *con); +void x_con_init(Con *con, uint16_t depth); /** * Moves a child window from Container src to Container dest. @@ -98,10 +103,29 @@ void x_raise_con(Con *con); */ void x_set_name(Con *con, const char *name); +/** + * Set up the SHMLOG_PATH atom. + * + */ +void update_shmlog_atom(void); + /** * Sets up i3 specific atoms (I3_SOCKET_PATH and I3_CONFIG_PATH) * */ -void x_set_i3_atoms(); +void x_set_i3_atoms(void); -#endif +/** + * Set warp_to coordinates. This will trigger on the next call to + * x_push_changes(). + * + */ +void x_set_warp_to(Rect *rect); + +/** + * Applies the given mask to the event mask of every i3 window decoration X11 + * window. This is useful to disable EnterNotify while resizing so that focus + * is untouched. + * + */ +void x_mask_event_mask(uint32_t mask);