X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fconfiguration.h;h=6f55ac2a57f7fe7ef280ca956267b46c63b82db9;hb=64e7646c7ee3cec9803597c5fde5d5a907881249;hp=f93afde757b45a261da85e678b7a29cb5d335f43;hpb=fff3f79da9a87a1f790c6328f6615422f2b69b47;p=i3%2Fi3 diff --git a/include/configuration.h b/include/configuration.h index f93afde7..6f55ac2a 100644 --- a/include/configuration.h +++ b/include/configuration.h @@ -21,6 +21,7 @@ typedef struct Config Config; typedef struct Barconfig Barconfig; extern char *current_configpath; +extern char *current_config; extern Config config; extern SLIST_HEAD(modes_head, Mode) modes; extern TAILQ_HEAD(barconfig_head, Barconfig) barconfigs; @@ -136,15 +137,24 @@ struct Config { * 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; + /** When focus wrapping is enabled (the default), attempting to + * move focus past the edge of the screen (in other words, in a + * direction in which there are no more containers to focus) will + * cause the focus to wrap to the opposite edge of the current + * container. When it is disabled, nothing happens; the current + * focus is preserved. + * + * Additionally, focus wrapping may be forced. 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. Setting focus_wrapping to FOCUS_WRAPPING_FORCE forces i3 + * to always wrap, which will result in you having to use "focus + * parent" more often. */ + focus_wrapping_t focus_wrapping; /** By default, use the RandR API for multi-monitor setups. * Unfortunately, the nVidia binary graphics driver doesn't support @@ -156,6 +166,9 @@ struct Config { * is fetched once and never updated. */ bool force_xinerama; + /** Don’t use RandR 1.5 for querying outputs. */ + bool disable_randr15; + /** Overwrites output detection (for testing), see src/fake_outputs.c */ char *fake_outputs; @@ -188,6 +201,13 @@ struct Config { * decoration. Marks starting with a "_" will be ignored either way. */ bool show_marks; + /** Title alignment options. */ + enum { + ALIGN_LEFT, + ALIGN_CENTER, + ALIGN_RIGHT + } title_align; + /** The default border style for new windows. */ border_style_t default_border; @@ -276,16 +296,7 @@ struct Barconfig { S_SHOW = 1 } hidden_state; /** Bar modifier (to show bar when in hide mode). */ - enum { - M_NONE = 0, - M_CONTROL = 1, - M_SHIFT = 2, - M_MOD1 = 3, - M_MOD2 = 4, - M_MOD3 = 5, - M_MOD4 = 6, - M_MOD5 = 7 - } modifier; + uint32_t modifier; TAILQ_HEAD(bar_bindings_head, Barbinding) bar_bindings; @@ -318,6 +329,10 @@ struct Barconfig { * 'strip_workspace_numbers yes'. */ bool strip_workspace_numbers; + /** Strip workspace name? Configuration option is + * 'strip_workspace_name yes'. */ + bool strip_workspace_name; + /** 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; @@ -371,6 +386,9 @@ struct Barbinding { /** The command which is to be executed for this button. */ char *command; + /** If true, the command will be executed after the button is released. */ + bool release; + TAILQ_ENTRY(Barbinding) bindings; }; @@ -416,7 +434,7 @@ void ungrab_all_keys(xcb_connection_t *conn); * Sends the current bar configuration as an event to all barconfig_update listeners. * */ -void update_barconfig(); +void update_barconfig(void); /** * Kills the configerror i3-nagbar process, if any.