if (last_key && strcasecmp(last_key, "floating_nodes") == 0) {
DLOG("New floating_node\n");
Con *ws = con_get_workspace(json_node);
- json_node = con_new(NULL, NULL);
+ json_node = con_new_skeleton(NULL, NULL);
json_node->parent = ws;
DLOG("Parent is workspace = %p\n", ws);
} else {
Con *parent = json_node;
- json_node = con_new(NULL, NULL);
+ json_node = con_new_skeleton(NULL, NULL);
json_node->parent = parent;
}
}
if (!parsing_swallows && !parsing_rect && !parsing_window_rect && !parsing_geometry) {
LOG("attaching\n");
con_attach(json_node, json_node->parent, true);
+ LOG("Creating window\n");
+ x_con_init(json_node, json_node->depth);
json_node = json_node->parent;
}
if (parsing_rect)
else if (strcasecmp(buf, "vertical") == 0)
json_node->last_split_layout = L_SPLITV;
else LOG("Unhandled orientation: %s\n", buf);
-
- /* What used to be an implicit check whether orientation !=
- * NO_ORIENTATION is now a proper separate flag. */
- if (strcasecmp(buf, "none") != 0)
- json_node->split = true;
free(buf);
} else if (strcasecmp(last_key, "border") == 0) {
char *buf = NULL;
json_node->layout = L_STACKED;
else if (strcasecmp(buf, "tabbed") == 0)
json_node->layout = L_TABBED;
- else if (strcasecmp(buf, "dockarea") == 0) {
+ else if (strcasecmp(buf, "dockarea") == 0)
json_node->layout = L_DOCKAREA;
- /* Necessary for migrating from older versions of i3. */
- json_node->split = false;
- } else if (strcasecmp(buf, "output") == 0)
+ else if (strcasecmp(buf, "output") == 0)
json_node->layout = L_OUTPUT;
else if (strcasecmp(buf, "splith") == 0)
json_node->layout = L_SPLITH;
if (strcasecmp(last_key, "current_border_width") == 0)
json_node->current_border_width = val;
+ if (strcasecmp(last_key, "depth") == 0)
+ json_node->depth = val;
+
if (!parsing_swallows && strcasecmp(last_key, "id") == 0)
json_node->old_id = val;
to_focus = json_node;
}
- if (strcasecmp(last_key, "split") == 0)
- json_node->split = val;
-
if (parsing_swallows) {
if (strcasecmp(last_key, "restart_mode") == 0)
current_swallow->restart_mode = val;