X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fconfig.h;h=75e0b127f96e084b9e566dad84b1db7e9ed0a3c7;hb=66a1fa7d4643981bcc8f78b03e170e35bf00bfc7;hp=71b37a80e2261f01682678c5cff2c1df9badff51;hpb=62ea60ba4260c66fb3268a5dadae194d72333b42;p=i3%2Fi3 diff --git a/include/config.h b/include/config.h index 71b37a80..75e0b127 100644 --- a/include/config.h +++ b/include/config.h @@ -2,7 +2,7 @@ * vim:ts=4:sw=4:expandtab * * i3 - an improved dynamic tiling window manager - * © 2009-2012 Michael Stapelberg and contributors (see also: LICENSE) + * © 2009 Michael Stapelberg and contributors (see also: LICENSE) * * include/config.h: Contains all structs/variables for the configurable * part of i3 as well as functions handling the configuration file (calling @@ -105,7 +105,7 @@ struct Config { /** By default, focus follows mouse. If the user explicitly wants to * turn this off (and instead rely only on the keyboard for changing - * focus), we allow him to do this with this relatively special option. + * focus), we allow them to do this with this relatively special option. * It is not planned to add any different focus models. */ bool disable_focus_follows_mouse; @@ -167,6 +167,26 @@ struct Config { * flag can be delayed using an urgency timer. */ float workspace_urgency_timer; + /** Use a timer to delay exiting when no output is available. + * This can prevent i3 from exiting when all outputs disappear momentarily. */ + float zero_disp_exit_timer_ms; + + /** Behavior when a window sends a NET_ACTIVE_WINDOW message. */ + enum { + /* Focus if the target workspace is visible, set urgency hint otherwise. */ + FOWA_SMART, + /* Always set the urgency hint. */ + FOWA_URGENT, + /* Always focus the window. */ + FOWA_FOCUS, + /* Ignore the request (no focus, no urgency hint). */ + FOWA_NONE + } focus_on_window_activation; + + /** Specifies whether or not marks should be displayed in the window + * decoration. Marks starting with a "_" will be ignored either way. */ + bool show_marks; + /** The default border style for new windows. */ border_style_t default_border; @@ -241,10 +261,13 @@ struct Barconfig { char *socket_path; /** Bar display mode (hide unless modifier is pressed or show in dock mode or always hide in invisible mode) */ - enum { M_DOCK = 0, M_HIDE = 1, M_INVISIBLE = 2 } mode; + enum { M_DOCK = 0, + M_HIDE = 1, + M_INVISIBLE = 2 } mode; /* The current hidden_state of the bar, which indicates whether it is hidden or shown */ - enum { S_HIDE = 0, S_SHOW = 1 } hidden_state; + enum { S_HIDE = 0, + S_SHOW = 1 } hidden_state; /** Bar modifier (to show bar when in hide mode). */ enum { @@ -258,8 +281,17 @@ struct Barconfig { M_MOD5 = 7 } modifier; + /** Command that should be run when mouse wheel up button is pressed over + * i3bar to override the default behavior. */ + char *wheel_up_cmd; + + /** Command that should be run when mouse wheel down button is pressed over + * i3bar to override the default behavior. */ + char *wheel_down_cmd; + /** Bar position (bottom by default). */ - enum { P_BOTTOM = 0, P_TOP = 1 } position; + enum { P_BOTTOM = 0, + P_TOP = 1 } position; /** Command that should be run to execute i3bar, give a full path if i3bar is not * in your $PATH. @@ -273,6 +305,9 @@ struct Barconfig { /** Font specification for all text rendered on the bar. */ char *font; + /** A custom separator to use instead of a vertical line. */ + char *separator_symbol; + /** Hide workspace buttons? Configuration option is 'workspace_buttons no' * but we invert the bool to get the correct default when initializing with * zero. */ @@ -314,6 +349,20 @@ struct Barconfig { TAILQ_ENTRY(Barconfig) configs; }; +/** + * Finds the configuration file to use (either the one specified by + * override_configpath), the user’s one or the system default) and calls + * parse_file(). + * + * If you specify override_configpath, only this path is used to look for a + * configuration file. + * + * If use_nagbar is false, don't try to start i3-nagbar but log the errors to + * stdout/stderr instead. + * + */ +bool parse_configuration(const char *override_configpath, bool use_nagbar); + /** * Reads the configuration from ~/.i3/config or /etc/i3/config if not found. *