]> git.sur5r.net Git - i3/i3/blobdiff - include/config.h
Added test for #2097.
[i3/i3] / include / config.h
index 3955fc7938cb26ec660a1ed7a387a2ca6066d6a7..f9badf10a224d7879a989a5d987996181fe5f765 100644 (file)
@@ -50,10 +50,10 @@ struct context {
  *
  */
 struct Colortriple {
-    uint32_t border;
-    uint32_t background;
-    uint32_t text;
-    uint32_t indicator;
+    color_t border;
+    color_t background;
+    color_t text;
+    color_t indicator;
 };
 
 /**
@@ -77,6 +77,7 @@ struct Variable {
  */
 struct Mode {
     char *name;
+    bool pango_markup;
     struct bindings_head *bindings;
 
     SLIST_ENTRY(Mode) modes;
@@ -167,10 +168,6 @@ struct Config {
      * flag can be delayed using an urgency timer. */
     float workspace_urgency_timer;
 
-    /** Use a timer to delay exiting when no output is available.
-      * This can prevent i3 from exiting when all outputs disappear momentarily. */
-    float zero_disp_exit_timer_ms;
-
     /** Behavior when a window sends a NET_ACTIVE_WINDOW message. */
     enum {
         /* Focus if the target workspace is visible, set urgency hint otherwise. */
@@ -205,7 +202,7 @@ struct Config {
 
     /* Color codes are stored here */
     struct config_client {
-        uint32_t background;
+        color_t background;
         struct Colortriple focused;
         struct Colortriple focused_inactive;
         struct Colortriple unfocused;
@@ -251,9 +248,13 @@ struct Barconfig {
      * simplicity (since we store just strings). */
     char **outputs;
 
-    /** Output on which the tray should be shown. The special value of 'no'
-     * disables the tray (it’s enabled by default). */
-    char *tray_output;
+    /* List of outputs on which the tray is allowed to be shown, in order.
+     * The special value "none" disables it (per default, it will be shown) and
+     * the special value "primary" enabled it on the primary output. */
+    TAILQ_HEAD(tray_outputs_head, tray_output_t) tray_outputs;
+
+    /* Padding around the tray icons. */
+    int tray_padding;
 
     /** Path to the i3 IPC socket. This option is discouraged since programs
      * can find out the path by looking for the I3_SOCKET_PATH property on the
@@ -281,7 +282,7 @@ struct Barconfig {
         M_MOD5 = 7
     } modifier;
 
-    TAILQ_HEAD(mouse_commands_head, Mousecommand) mouse_commands;
+    TAILQ_HEAD(bar_bindings_head, Barbinding) bar_bindings;
 
     /** Bar position (bottom by default). */
     enum { P_BOTTOM = 0,
@@ -323,6 +324,10 @@ struct Barconfig {
         char *statusline;
         char *separator;
 
+        char *focused_background;
+        char *focused_statusline;
+        char *focused_separator;
+
         char *focused_workspace_border;
         char *focused_workspace_bg;
         char *focused_workspace_text;
@@ -352,14 +357,20 @@ struct Barconfig {
  * clicking on the non-statusline part of i3bar.
  *
  */
-struct Mousecommand {
-    /** The button for this command (e.g., "button1") */
-    char *button;
+struct Barbinding {
+    /** The button to be used (e.g., 1 for "button1"). */
+    int input_code;
 
     /** The command which is to be executed for this button. */
     char *command;
 
-    TAILQ_ENTRY(Mousecommand) commands;
+    TAILQ_ENTRY(Barbinding) bindings;
+};
+
+struct tray_output_t {
+    char *output;
+
+    TAILQ_ENTRY(tray_output_t) tray_outputs;
 };
 
 /**