]> git.sur5r.net Git - i3/i3/blobdiff - include/data.h
Merge branch 'master' into next
[i3/i3] / include / data.h
index 427155432854a8720b43476d80a2664726e653c3..fe648d3d196adc11b41485067d7d0f7fd2d7164a 100644 (file)
@@ -2,7 +2,7 @@
  * vim:ts=4:sw=4:expandtab
  *
  * i3 - an improved dynamic tiling window manager
- * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
+ * © 2009-2012 Michael Stapelberg and contributors (see also: LICENSE)
  *
  * include/data.h: This file defines all data structures used by i3
  *
@@ -304,6 +304,10 @@ struct Window {
     /** Whether the application needs to receive WM_TAKE_FOCUS */
     bool needs_take_focus;
 
+    /** Whether this window accepts focus. We store this inverted so that the
+     * default will be 'accepts focus'. */
+    bool doesnt_accept_focus;
+
     /** Whether the window says it is a dock window */
     enum { W_NODOCK = 0, W_DOCK_TOP = 1, W_DOCK_BOTTOM = 2 } dock;
 
@@ -353,6 +357,11 @@ struct Match {
      */
     enum { M_HERE = 0, M_ASSIGN_WS, M_BELOW } insert_where;
 
+    /* Whether this match was generated when restarting i3 inplace.
+     * Leads to not setting focus when managing a new window, because the old
+     * focus stack should be restored. */
+    bool restart_mode;
+
     TAILQ_ENTRY(Match) matches;
 };
 
@@ -510,6 +519,10 @@ struct Con {
         SCRATCHPAD_FRESH = 1,
         SCRATCHPAD_CHANGED = 2
     } scratchpad_state;
+
+    /* The ID of this container before restarting. Necessary to correctly
+     * interpret back-references in the JSON (such as the focus stack). */
+    int old_id;
 };
 
 #endif