]> git.sur5r.net Git - i3/i3/blobdiff - i3bar/include/config.h
Merge branch 'master' into next
[i3/i3] / i3bar / include / config.h
index c5fc218c15d7e195ed0d639fb8f220f788c94e49..e0b0efee1631dc91f2944159cee4246a6fca5f21 100644 (file)
@@ -1,5 +1,13 @@
-#ifndef CONFIG_H_
-#define CONFIG_H_
+/*
+ * 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)
+ *
+ * config.c: Parses the configuration (received from i3).
+ *
+ */
+#pragma once
 
 #include "common.h"
 
@@ -9,18 +17,27 @@ typedef enum {
     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;
+    int          modifier;
     position_t   position;
     int          verbose;
     struct xcb_color_strings_t colors;
-    int          disable_ws;
+    bool         disable_binding_mode_indicator;
+    bool         disable_ws;
     char         *bar_id;
     char         *command;
     char         *fontname;
     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;
@@ -36,5 +53,3 @@ void parse_config_json(char *json);
  *
  */
 void free_colors(struct xcb_color_strings_t *colors);
-
-#endif