aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sway/desktop/render.c7
-rw-r--r--sway/tree/view.c22
2 files changed, 11 insertions, 18 deletions
diff --git a/sway/desktop/render.c b/sway/desktop/render.c
index c1fa0c8c..1a72f752 100644
--- a/sway/desktop/render.c
+++ b/sway/desktop/render.c
@@ -781,13 +781,6 @@ static void render_containers_stacked(struct sway_output *output,
781 781
782static void render_containers(struct sway_output *output, 782static void render_containers(struct sway_output *output,
783 pixman_region32_t *damage, struct parent_data *parent) { 783 pixman_region32_t *damage, struct parent_data *parent) {
784 if (parent->children->length == 1) {
785 struct sway_container *child = parent->children->items[0];
786 if (child->view) {
787 render_containers_linear(output, damage, parent);
788 return;
789 }
790 }
791 switch (parent->layout) { 784 switch (parent->layout) {
792 case L_NONE: 785 case L_NONE:
793 case L_HORIZ: 786 case L_HORIZ:
diff --git a/sway/tree/view.c b/sway/tree/view.c
index 5a1b2e37..4bc9e0f3 100644
--- a/sway/tree/view.c
+++ b/sway/tree/view.c
@@ -242,23 +242,23 @@ void view_autoconfigure(struct sway_view *view) {
242 view->border_bottom = bottom_y != ws->y + ws->height; 242 view->border_bottom = bottom_y != ws->y + ws->height;
243 } 243 }
244 244
245 double x, y, width, height;
246 x = y = width = height = 0;
247 double y_offset = 0;
248
245 // In a tabbed or stacked container, the container's y is the top of the 249 // In a tabbed or stacked container, the container's y is the top of the
246 // title area. We have to offset the surface y by the height of the title, 250 // title area. We have to offset the surface y by the height of the title,
247 // bar, and disable any top border because we'll always have the title bar. 251 // bar, and disable any top border because we'll always have the title bar.
248 double y_offset = 0;
249 enum sway_container_layout layout = container_parent_layout(con); 252 enum sway_container_layout layout = container_parent_layout(con);
250 list_t *siblings = container_get_siblings(con); 253 if (layout == L_TABBED && !container_is_floating(con)) {
251 if (siblings->length > 1 && !container_is_floating(con)) { 254 y_offset = container_titlebar_height();
252 if (layout == L_TABBED) { 255 view->border_top = false;
253 y_offset = container_titlebar_height(); 256 } else if (layout == L_STACKED && !container_is_floating(con)) {
254 view->border_top = false; 257 list_t *siblings = container_get_siblings(con);
255 } else if (layout == L_STACKED) { 258 y_offset = container_titlebar_height() * siblings->length;
256 y_offset = container_titlebar_height() * siblings->length; 259 view->border_top = false;
257 view->border_top = false;
258 }
259 } 260 }
260 261
261 double x, y, width, height = 0;
262 switch (view->border) { 262 switch (view->border) {
263 case B_CSD: 263 case B_CSD:
264 case B_NONE: 264 case B_NONE: