fixed default active_workspace, and more use of set_focused_container_for(...)
This commit is contained in:
parent
b79a49a394
commit
6f424ff6b8
|
@ -150,6 +150,7 @@ swayc_t *new_container(swayc_t *child, enum swayc_layouts layout) {
|
||||||
// give them proper layouts
|
// give them proper layouts
|
||||||
cont->layout = workspace->layout;
|
cont->layout = workspace->layout;
|
||||||
workspace->layout = layout;
|
workspace->layout = layout;
|
||||||
|
set_focused_container_for(workspace, get_focused_view(workspace));
|
||||||
} else { // Or is built around container
|
} else { // Or is built around container
|
||||||
swayc_t *parent = replace_child(child, cont);
|
swayc_t *parent = replace_child(child, cont);
|
||||||
if (parent) {
|
if (parent) {
|
||||||
|
|
|
@ -33,8 +33,9 @@ void add_child(swayc_t *parent, swayc_t *child) {
|
||||||
child->width, child->height, parent, parent->type, parent->width, parent->height);
|
child->width, child->height, parent, parent->type, parent->width, parent->height);
|
||||||
list_add(parent->children, child);
|
list_add(parent->children, child);
|
||||||
child->parent = parent;
|
child->parent = parent;
|
||||||
|
//set focus for this container
|
||||||
if (parent->children->length == 1) {
|
if (parent->children->length == 1) {
|
||||||
parent->focused = child;
|
set_focused_container_for(parent, child);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,7 +46,7 @@ void add_floating(swayc_t *ws, swayc_t *child) {
|
||||||
child->parent = ws;
|
child->parent = ws;
|
||||||
child->is_floating = true;
|
child->is_floating = true;
|
||||||
if (!ws->focused) {
|
if (!ws->focused) {
|
||||||
ws->focused = child;
|
set_focused_container_for(ws, child);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,7 +71,7 @@ swayc_t *replace_child(swayc_t *child, swayc_t *new_child) {
|
||||||
new_child->parent = child->parent;
|
new_child->parent = child->parent;
|
||||||
|
|
||||||
if (child->parent->focused == child) {
|
if (child->parent->focused == child) {
|
||||||
child->parent->focused = new_child;
|
set_focused_container_for(child->parent, new_child);
|
||||||
}
|
}
|
||||||
child->parent = NULL;
|
child->parent = NULL;
|
||||||
return parent;
|
return parent;
|
||||||
|
|
Loading…
Reference in a new issue