*
*/
struct context {
+ bool has_errors;
+
int line_number;
char *line_copy;
const char *filename;
* comes with i3. Thus, you can turn it off entirely. */
bool disable_workspace_bar;
+ /** Think of the following layout: Horizontal workspace with a tabbed
+ * con on the left of the screen and a terminal on the right of the
+ * screen. You are in the second container in the tabbed container and
+ * focus to the right. By default, i3 will set focus to the terminal on
+ * the right. If you are in the first container in the tabbed container
+ * however, focusing to the left will wrap. This option forces i3 to
+ * always wrap, which will result in you having to use "focus parent"
+ * more often. */
+ bool force_focus_wrapping;
+
+ /** By default, use the RandR API for multi-monitor setups.
+ * Unfortunately, the nVidia binary graphics driver doesn't support
+ * this API. Instead, it only support the less powerful Xinerama API,
+ * which can be enabled by this option.
+ *
+ * Note: this option takes only effect on the initial startup (eg.
+ * reconfiguration is not possible). On startup, the list of screens
+ * is fetched once and never updated. */
+ bool force_xinerama;
+
/** The default border style for new windows. */
border_style_t default_border;
+ /** The default border style for new floating windows. */
+ border_style_t default_floating_border;
+
/** The modifier which needs to be pressed in combination with your mouse
* buttons to do things with floating windows (move, resize) */
uint32_t floating_modifier;
*/
Binding *get_binding(uint16_t modifiers, xcb_keycode_t keycode);
+/**
+ * Kills the configerror i3-nagbar process, if any.
+ *
+ * Called when reloading/restarting.
+ *
+ * If wait_for_it is set (restarting), this function will waitpid(), otherwise,
+ * ev is assumed to handle it (reloading).
+ *
+ */
+void kill_configerror_nagbar(bool wait_for_it);
+
/* prototype for src/cfgparse.y */
void parse_file(const char *f);