/*
* 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;
* 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.
*/
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);