BS_NONE = 1,
BS_PIXEL = 2 } border_style_t;
-/** parameter to specify whether tree_close() and x_window_kill() should kill
+/** parameter to specify whether tree_close_internal() and x_window_kill() should kill
* only this specific window or the whole X11 client */
typedef enum { DONT_KILL_WINDOW = 0,
KILL_WINDOW = 1,
struct width_height con_rect;
struct width_height con_window_rect;
Rect con_deco_rect;
- uint32_t background;
+ color_t background;
layout_t parent_layout;
bool con_is_leaf;
};
/** The name of the window. */
i3String *name;
- /** The format with which the window's name should be displayed. */
- char *title_format;
/** The WM_WINDOW_ROLE of this window (for example, the pidgin buddy window
* sets "buddy list"). Useful to match specific windows in assignments or
/** The _NET_WM_WINDOW_TYPE for this window. */
xcb_atom_t window_type;
+ /** The _NET_WM_DESKTOP for this window. */
+ uint32_t wm_desktop;
+
/** Whether the window says it is a dock window */
enum { W_NODOCK = 0,
W_DOCK_TOP = 1,
*
*/
struct Match {
+ /* Set if a criterion was specified incorrectly. */
+ char *error;
+
struct regex *title;
struct regex *application;
struct regex *class;
* change. */
uint8_t ignore_unmap;
- /* ids/pixmap/graphics context for the frame window */
+ /* The surface used for the frame window. */
+ surface_t frame;
+ surface_t frame_buffer;
bool pixmap_recreated;
- xcb_window_t frame;
- xcb_pixmap_t pixmap;
- xcb_gcontext_t pm_gc;
enum {
CT_ROOT = 0,
struct Con *parent;
+ /* The position and size for this con. These coordinates are absolute. Note
+ * that the rect of a container does not include the decoration. */
struct Rect rect;
+ /* The position and size of the actual client window. These coordinates are
+ * relative to the container's rect. */
struct Rect window_rect;
+ /* The position and size of the container's decoration. These coordinates
+ * are relative to the container's parent's rect. */
struct Rect deco_rect;
/** the geometry this window requested when getting mapped */
struct Rect geometry;
char *name;
+ /** The format with which the window's name should be displayed. */
+ char *title_format;
+
/* a sticky-group is an identifier which bundles several containers to a
* group. The contents are shared between all of them, that is they are
* displayed on whichever of the containers is currently visible */