aboutsummaryrefslogtreecommitdiff
path: root/sway/desktop
diff options
context:
space:
mode:
authorRyan Dwyer <ryandwyer1@gmail.com>2018-10-27 11:23:02 +1000
committerRyan Dwyer <ryandwyer1@gmail.com>2018-10-27 11:23:02 +1000
commit65328ef60c9468ae44b4b1d6316d604c47293ec3 (patch)
tree6e4e16650740ae2ad1f76bdd357d2747e7569a8e /sway/desktop
parentb63669a2a04027a029e7332ca4e7670457f59fd2 (diff)
downloadsway-65328ef60c9468ae44b4b1d6316d604c47293ec3.tar.xz
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.
Diffstat (limited to 'sway/desktop')
-rw-r--r--sway/desktop/render.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sway/desktop/render.c b/sway/desktop/render.c
index 1a72f752..c1fa0c8c 100644
--- a/sway/desktop/render.c
+++ b/sway/desktop/render.c
@@ -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: