]> git.sur5r.net Git - i3/i3/blobdiff - include/config.h
Use (void) instead of () for functions without args (Thanks fernandotcl)
[i3/i3] / include / config.h
index a4a274cf9fd39008b827eaa8fbe1ff8d22276b4a..e959a2dc6f6f4787dc190b2ca02970bb9ba3ca1f 100644 (file)
@@ -2,10 +2,7 @@
  * vim:ts=4:sw=4:expandtab
  *
  * i3 - an improved dynamic tiling window manager
- *
- * © 2009-2010 Michael Stapelberg and contributors
- *
- * See file LICENSE for license information.
+ * © 2009-2012 Michael Stapelberg and contributors (see also: LICENSE)
  *
  * include/config.h: Contains all structs/variables for the configurable
  * part of i3 as well as functions handling the configuration file (calling
  * mode).
  *
  */
-
 #ifndef _CONFIG_H
 #define _CONFIG_H
 
 #include <stdbool.h>
 #include "queue.h"
 #include "i3.h"
+#include "libi3.h"
 
 typedef struct Config Config;
 typedef struct Barconfig Barconfig;
@@ -35,6 +32,7 @@ extern TAILQ_HEAD(barconfig_head, Barconfig) barconfigs;
  */
 struct context {
     bool has_errors;
+    bool has_warnings;
 
     int line_number;
     char *line_copy;
@@ -56,6 +54,7 @@ struct Colortriple {
     uint32_t border;
     uint32_t background;
     uint32_t text;
+    uint32_t indicator;
 };
 
 /**
@@ -151,6 +150,12 @@ struct Config {
      * buttons to do things with floating windows (move, resize) */
     uint32_t floating_modifier;
 
+    /** Maximum and minimum dimensions of a floating window */
+    int32_t floating_maximum_width;
+    int32_t floating_maximum_height;
+    int32_t floating_minimum_width;
+    int32_t floating_minimum_height;
+
     /* Color codes are stored here */
     struct config_client {
         uint32_t background;
@@ -198,11 +203,28 @@ struct Barconfig {
     char *socket_path;
 
     /** Bar display mode (hide unless modifier is pressed or show in dock mode) */
-    enum { M_HIDE = 0, M_DOCK = 1 } mode;
+    enum { M_DOCK = 0, M_HIDE = 1 } mode;
+
+    /** 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;
 
     /** Bar position (bottom by default). */
     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.
+     * By default just 'i3bar' is executed. */
+    char *i3bar_command;
+
     /** Command that should be run to get a statusline, for example 'i3status'.
      * Will be passed to the shell. */
     char *status_command;
@@ -222,17 +244,21 @@ struct Barconfig {
         char *background;
         char *statusline;
 
-        char *focused_workspace_text;
+        char *focused_workspace_border;
         char *focused_workspace_bg;
+        char *focused_workspace_text;
 
-        char *active_workspace_text;
+        char *active_workspace_border;
         char *active_workspace_bg;
+        char *active_workspace_text;
 
-        char *inactive_workspace_text;
+        char *inactive_workspace_border;
         char *inactive_workspace_bg;
+        char *inactive_workspace_text;
 
-        char *urgent_workspace_text;
+        char *urgent_workspace_border;
         char *urgent_workspace_bg;
+        char *urgent_workspace_text;
     } colors;
 
     TAILQ_ENTRY(Barconfig) configs;
@@ -251,7 +277,7 @@ void load_configuration(xcb_connection_t *conn, const char *override_configfile,
  * Translates keysymbols to keycodes for all bindings which use keysyms.
  *
  */
-void translate_keysyms();
+void translate_keysyms(void);
 
 /**
  * Ungrabs all keys, to be called before re-grabbing the keys because of a