]> git.sur5r.net Git - i3/i3/blobdiff - docs/layout-saving
Merge branch 'next' into master
[i3/i3] / docs / layout-saving
index 2b798df5ac645dc25cda0f282ff2c000ccb54a06..6ca08fa239dbe7bd38ac2221e987c153cf3162c0 100644 (file)
@@ -231,3 +231,55 @@ layouts, you can either use a JSON parser that supports these deviations (for
 example libyajl), transform the layout file to a JSON-conforming file, or
 link:http://cr.i3wm.org/[submit a patch] to make +i3-save-tree(1)+ optionally
 output standard-conforming JSON.
+
+== Troubleshooting
+
+=== Restoring a vertically split workspace
+
+When using +i3-save-tree+ with the +--workspace+ switch, only the *contents* of
+the workspace will be dumped. This means that properties of the workspace
+itself will be lost.
+
+This is relevant for, e.g., a vertically split container as the base container of
+a workspace. Since the split mode is a property of the workspace, it will not be
+stored. In this case, you will have to manually wrap your layout in such a
+container:
+
+--------------------------------------------------------------------------------
+// vim:ts=4:sw=4:et
+{
+    // this is a manually added container to restore the vertical split
+    "layout": "splitv",
+    "percent": 0.5,
+    "type": "con",
+    "nodes": [
+
+        // the dumped workspace layout goes here
+
+    ]
+}
+--------------------------------------------------------------------------------
+
+=== Placeholders using window title matches don't swallow the window
+
+If you use the +title+ attribute to match a window and find that it doesn't
+work or only works sometimes, the reason might be that the application sets the
+title only after making the window visible. This will be especially true for
+programs running inside terminal emulators, e.g., +urxvt -e irssi+ when
+matching on +title: "irssi"+.
+
+One way to deal with this is to not rely on the title, but instead use, e.g.,
+the +instance+ attribute and running the program to set this window instance to
+that value:
+
+--------------------------------------------------------------------------------
+# Run irssi via
+# urxvt -name "irssi-container" -e irssi
+
+"swallows": [
+    {
+        "class": "URxvt",
+        "instance": "irssi-container"
+    }
+]
+--------------------------------------------------------------------------------