Respect border settings when rendering lone tabbed/stacked child

In i3, when a child of a tabbed or stacked container has no siblings,
its border settings are respected.

This patch achieves the same effect by rendering a lone tabbed/stacked
child as if it's a linear container. This makes the border settings be
respected.

Over in view_autoconfigure, we compensate for this by only adjusting
`y_offset` if there's multiple children.
This commit is contained in:
Ryan Dwyer 2018-10-27 11:23:02 +10:00
parent b63669a2a0
commit 65328ef60c
2 changed files with 18 additions and 11 deletions

View file

@ -781,6 +781,13 @@ static void render_containers_stacked(struct sway_output *output,
static void render_containers(struct sway_output *output,
pixman_region32_t *damage, struct parent_data *parent) {
if (parent->children->length == 1) {
struct sway_container *child = parent->children->items[0];
if (child->view) {
render_containers_linear(output, damage, parent);
return;
}
}
switch (parent->layout) {
case L_NONE:
case L_HORIZ: