diff options
author | Mikkel Oscar Lyderik <[email protected]> | 2016-01-23 02:47:44 +0100 |
---|---|---|
committer | Mikkel Oscar Lyderik <[email protected]> | 2016-01-24 14:22:17 +0100 |
commit | bb986cb33637147663c115c8b8f8bdff170f23a8 (patch) | |
tree | 34ca3a44732114013e7357d7cd894941ea1b95be /swaybar/config.h | |
parent | c8cf3f70f979a6eb373ec1ebdf8f80bc42dcd633 (diff) |
swaybar: Separate config
Diffstat (limited to 'swaybar/config.h')
-rw-r--r-- | swaybar/config.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/swaybar/config.h b/swaybar/config.h new file mode 100644 index 00000000..5cda97e6 --- /dev/null +++ b/swaybar/config.h @@ -0,0 +1,73 @@ +#ifndef _SWAYBAR_CONFIG_H +#define _SWAYBAR_CONFIG_H + +#include <stdint.h> +#include <stdbool.h> + +/** + * Colors for a box with background, border and text colors. + */ +struct box_colors { + uint32_t border; + uint32_t background; + uint32_t text; +}; + +/** + * Swaybar config. + */ +struct swaybar_config { + char *status_command; + uint32_t position; + char *font; + char *sep_symbol; + char *mode; + bool strip_workspace_numbers; + bool binding_mode_indicator; + bool workspace_buttons; + + int margin; + int ws_horizontal_padding; + double ws_vertical_padding; + int ws_spacing; + int text_height; + + struct { + uint32_t background; + uint32_t statusline; + uint32_t separator; + + struct box_colors focused_workspace; + struct box_colors active_workspace; + struct box_colors inactive_workspace; + struct box_colors urgent_workspace; + struct box_colors binding_mode; + } colors; +}; + +/** + * Parse colors defined as hex string to uint32_t. + */ +uint32_t parse_color(const char *color); + +/** + * Parse position top|bottom|left|right. + */ +uint32_t parse_position(const char *position); + +/** + * Parse font. + */ +char *parse_font(const char *font); + +/** + * Initialize default sway config. + */ +struct swaybar_config *init_config(); + +/** + * Free config struct. + */ +void free_config(struct swaybar_config *config); + +#endif /* _SWAYBAR_CONFIG_H */ |