* vim:ts=4:sw=4:expandtab
*
* i3bar - an xcb-based status- and ws-bar for i3
- * © 2010-2011 Axel Wagner and contributors (see also: LICENSE)
+ * © 2010 Axel Wagner and contributors (see also: LICENSE)
*
* config.c: Parses the configuration (received from i3).
*
*/
-#ifndef CONFIG_H_
-#define CONFIG_H_
+#pragma once
#include "common.h"
POS_BOT
} position_t;
+/* Bar display mode (hide unless modifier is pressed or show in dock mode or always hide in invisible mode) */
+typedef enum { M_DOCK = 0,
+ M_HIDE = 1,
+ M_INVISIBLE = 2 } bar_display_mode_t;
+
typedef struct config_t {
- int hide_on_modifier;
- position_t position;
- int verbose;
+ int modifier;
+ char *wheel_up_cmd;
+ char *wheel_down_cmd;
+ position_t position;
+ int verbose;
struct xcb_color_strings_t colors;
- int disable_ws;
- char *bar_id;
- char *command;
- char *fontname;
- char *tray_output;
- int num_outputs;
- char **outputs;
+ bool disable_binding_mode_indicator;
+ bool disable_ws;
+ bool strip_ws_numbers;
+ char *bar_id;
+ char *command;
+ char *fontname;
+ i3String *separator_symbol;
+ char *tray_output;
+ int num_outputs;
+ char **outputs;
+
+ bar_display_mode_t hide_on_modifier;
+
+ /* The current hidden_state of the bar, which indicates whether it is hidden or shown */
+ enum { S_HIDE = 0,
+ S_SHOW = 1 } hidden_state;
} config_t;
config_t config;
/**
- * Start parsing the received bar configuration json-string
+ * Start parsing the received bar configuration JSON string
*
*/
void parse_config_json(char *json);
*
*/
void free_colors(struct xcb_color_strings_t *colors);
-
-#endif