X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fconfig.h;h=afafb64be0cb8da35017684d0ec354e7cd03f50c;hb=8dd6591c59d062204cb25dd66b33f1a35976f03c;hp=7598241f20737156a928294e6229d28df689685f;hpb=2f42fe61d95d15533638b06c7f7add155afc9163;p=i3%2Fi3 diff --git a/include/config.h b/include/config.h index 7598241f..afafb64b 100644 --- a/include/config.h +++ b/include/config.h @@ -98,16 +98,27 @@ struct Config { int container_stack_limit; int container_stack_limit_value; int default_border_width; + int default_floating_border_width; /** Default orientation for new containers */ int default_orientation; /** 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; + /** By default, when switching focus to a window on a different output + * (e.g. focusing a window on workspace 3 on output VGA-1, coming from + * workspace 2 on LVDS-1), the mouse cursor is warped to the center of + * that window. + * + * With the mouse_warping option, you can control when the mouse cursor + * should be warped. "none" disables warping entirely, whereas "output" + * is the default behavior described above. */ + warping_t mouse_warping; + /** Remove borders if they are adjacent to the screen edge. * This is useful if you are reaching scrollbar on the edge of the * screen or do not want to waste a single pixel of displayspace. @@ -230,10 +241,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 { @@ -247,8 +261,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. @@ -267,6 +290,10 @@ struct Barconfig { * zero. */ bool hide_workspace_buttons; + /** Strip workspace numbers? Configuration option is + * 'strip_workspace_numbers yes'. */ + bool strip_workspace_numbers; + /** Hide mode button? Configuration option is 'binding_mode_indicator no' * but we invert the bool for the same reason as hide_workspace_buttons.*/ bool hide_binding_mode_indicator; @@ -299,6 +326,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. *