diff options
author | D.B <thejan.2009@gmail.com> | 2016-09-10 15:57:04 +0200 |
---|---|---|
committer | D.B <thejan.2009@gmail.com> | 2016-09-10 16:11:33 +0200 |
commit | 873dfc07f3d3d55a031674a6ffbc0f5b7febe08f (patch) | |
tree | 699e47bbef6f9dce14615a590c6fad35639cf13e | |
parent | Merge pull request #888 from zandrmartin/swaybar-pango-fix (diff) | |
download | sway-873dfc07f3d3d55a031674a6ffbc0f5b7febe08f.tar.gz sway-873dfc07f3d3d55a031674a6ffbc0f5b7febe08f.tar.zst sway-873dfc07f3d3d55a031674a6ffbc0f5b7febe08f.zip |
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.
-rw-r--r-- | sway/border.c | 7 |
1 files 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 | |||
108 | int x = b->origin.x - g->origin.x; | 108 | int x = b->origin.x - g->origin.x; |
109 | int y = b->origin.y - g->origin.y; | 109 | int y = b->origin.y - g->origin.y; |
110 | 110 | ||
111 | // draw vertical/horizontal indicator if container is the only child of its parent container | ||
112 | bool is_only_child = view->parent && view->parent->children && view->parent->children->length == 1; | ||
113 | |||
111 | // left border | 114 | // left border |
112 | int left_border = v->origin.x - b->origin.x; | 115 | int left_border = v->origin.x - b->origin.x; |
113 | if (left_border > 0) { | 116 | if (left_border > 0) { |
@@ -121,7 +124,7 @@ static void render_borders(swayc_t *view, cairo_t *cr, struct border_colors *col | |||
121 | // right border | 124 | // right border |
122 | int right_border = b->size.w - v->size.w - left_border; | 125 | int right_border = b->size.w - v->size.w - left_border; |
123 | if (right_border > 0) { | 126 | if (right_border > 0) { |
124 | if (layout == L_HORIZ) { | 127 | if (is_only_child && layout == L_HORIZ) { |
125 | color = colors->indicator; | 128 | color = colors->indicator; |
126 | } else { | 129 | } else { |
127 | color = colors->child_border; | 130 | color = colors->child_border; |
@@ -147,7 +150,7 @@ static void render_borders(swayc_t *view, cairo_t *cr, struct border_colors *col | |||
147 | // bottom border | 150 | // bottom border |
148 | int bottom_border = b->size.h - (top_border + v->size.h); | 151 | int bottom_border = b->size.h - (top_border + v->size.h); |
149 | if (bottom_border > 0) { | 152 | if (bottom_border > 0) { |
150 | if (layout == L_VERT) { | 153 | if (is_only_child && layout == L_VERT) { |
151 | color = colors->indicator; | 154 | color = colors->indicator; |
152 | } else { | 155 | } else { |
153 | color = colors->child_border; | 156 | color = colors->child_border; |