4 * i3 - an improved dynamic tiling window manager
6 * © 2009 Michael Stapelberg and contributors
8 * See file LICENSE for license information.
10 * include/config.h: Contains all structs/variables for
11 * the configurable part of i3
21 typedef struct Config Config;
25 * Part of the struct Config. It makes sense to group colors for background,
26 * border and text as every element in i3 has them (window decorations, bar).
36 * Holds a user-assigned variable for parsing the configuration file. The key
37 * is replaced by value in every following line of the file.
44 SLIST_ENTRY(Variable) variables;
48 * Holds part of the configuration (the part which is not already in dedicated
49 * structures in include/data.h).
56 const char *ipc_socket_path;
58 /** The modifier which needs to be pressed in combination with your mouse
59 * buttons to do things with floating windows (move, resize) */
60 uint32_t floating_modifier;
62 /* Color codes are stored here */
63 struct config_client {
64 struct Colortriple focused;
65 struct Colortriple focused_inactive;
66 struct Colortriple unfocused;
69 struct Colortriple focused;
70 struct Colortriple unfocused;
75 * Reads the configuration from ~/.i3/config or /etc/i3/config if not found.
77 * If you specify override_configpath, only this path is used to look for a
81 void load_configuration(xcb_connection_t *conn, const char *override_configfile, bool reload);
84 * Ungrabs all keys, to be called before re-grabbing the keys because of a
85 * mapping_notify event or a configuration file reload
88 void ungrab_all_keys(xcb_connection_t *conn);
91 * Grab the bound keys (tell X to send us keypress events for those keycodes)
94 void grab_all_keys(xcb_connection_t *conn);