From 873dfc07f3d3d55a031674a6ffbc0f5b7febe08f Mon Sep 17 00:00:00 2001 From: "D.B" Date: Sat, 10 Sep 2016 15:57:04 +0200 Subject: Use indicator border color only when needed. Indicator border color is now used only when a container is the only child. Reason for the change? i3 does it this way. Sway container borders are now a bit more similar to i3 ones. --- sway/border.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/sway/border.c b/sway/border.c index 09bf05e9..c64fad70 100644 --- a/sway/border.c +++ b/sway/border.c @@ -108,6 +108,9 @@ static void render_borders(swayc_t *view, cairo_t *cr, struct border_colors *col int x = b->origin.x - g->origin.x; int y = b->origin.y - g->origin.y; + // draw vertical/horizontal indicator if container is the only child of its parent container + bool is_only_child = view->parent && view->parent->children && view->parent->children->length == 1; + // left border int left_border = v->origin.x - b->origin.x; if (left_border > 0) { @@ -121,7 +124,7 @@ static void render_borders(swayc_t *view, cairo_t *cr, struct border_colors *col // right border int right_border = b->size.w - v->size.w - left_border; if (right_border > 0) { - if (layout == L_HORIZ) { + if (is_only_child && layout == L_HORIZ) { color = colors->indicator; } else { color = colors->child_border; @@ -147,7 +150,7 @@ static void render_borders(swayc_t *view, cairo_t *cr, struct border_colors *col // bottom border int bottom_border = b->size.h - (top_border + v->size.h); if (bottom_border > 0) { - if (layout == L_VERT) { + if (is_only_child && layout == L_VERT) { color = colors->indicator; } else { color = colors->child_border; -- cgit v1.2.3-54-g00ecf