X-Git-Url: https://git.sur5r.net/?p=i3%2Fi3;a=blobdiff_plain;f=include%2Fx.h;h=8b7664f2616f6f52d47c4a694d756c70af9bd84c;hp=29a8bec20c87d26b8278937674302ebbeb78605f;hb=HEAD;hpb=336ce56cf36ee5ddc4358fac9bb7bedb92b659eb diff --git a/include/x.h b/include/x.h index 29a8bec2..8b7664f2 100644 --- a/include/x.h +++ b/include/x.h @@ -1,9 +1,16 @@ /* * vim:ts=4:sw=4:expandtab + * + * i3 - an improved dynamic tiling window manager + * © 2009 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. + * */ +#pragma once -#ifndef _X_H -#define _X_H +#include /** Stores the X11 window ID of the currently focused window */ extern xcb_window_t focused_id; @@ -42,6 +49,12 @@ void x_reinit(Con *con); */ void x_con_kill(Con *con); +/* + * Completely reinitializes the container's frame, without destroying the old window. + * + */ +void x_con_reframe(Con *con); + /** * Returns true if the client supports the given protocol atom (like WM_DELETE_WINDOW) * @@ -98,11 +111,17 @@ 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); /** * Set warp_to coordinates. This will trigger on the next call to @@ -111,4 +130,10 @@ void x_set_i3_atoms(); */ void x_set_warp_to(Rect *rect); -#endif +/** + * 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);