]> git.sur5r.net Git - i3/i3/blobdiff - include/config.h
Merge branch 'master' into next
[i3/i3] / include / config.h
index 8f0b71c9947325889851f29cbd46dbaa235f1e69..ebb24864cded0cb06548cfaebe11340ca87854be 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
@@ -13,7 +10,6 @@
  * mode).
  *
  */
-
 #ifndef _CONFIG_H
 #define _CONFIG_H
 
@@ -58,6 +54,7 @@ struct Colortriple {
     uint32_t border;
     uint32_t background;
     uint32_t text;
+    uint32_t indicator;
 };
 
 /**
@@ -111,6 +108,12 @@ struct Config {
      * It is not planned to add any different focus models. */
     bool disable_focus_follows_mouse;
 
+    /** Remove borders if they are adjacent to the screen edge.
+     * This is useful if you are reaching scrollbar on the edge of the
+     * screen or do not want to waste a single pixel of displayspace.
+     * By default, this is disabled. */
+    adjacent_t hide_edge_borders;
+
     /** By default, a workspace bar is drawn at the bottom of the screen.
      * If you want to have a more fancy bar, it is recommended to replace
      * the whole bar by dzen2, for example using the i3-wsbar script which
@@ -137,6 +140,9 @@ struct Config {
      * is fetched once and never updated. */
     bool force_xinerama;
 
+    /** Overwrites output detection (for testing), see src/fake_outputs.c */
+    char *fake_outputs;
+
     /** Automatic workspace back and forth switching. If this is set, a
      * switch to the currently active workspace will switch to the
      * previously focused one instead, making it possible to fast toggle
@@ -153,6 +159,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;
@@ -202,9 +214,26 @@ struct Barconfig {
     /** Bar display mode (hide unless modifier is pressed or show in dock 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;
@@ -224,17 +253,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;
@@ -253,7 +286,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