aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2016-08-11 18:21:58 -0400
committerGitHub <noreply@github.com>2016-08-11 18:21:58 -0400
commit420fa20ae63cf010b0849ca11a96e67d54ffb0bc (patch)
tree611e81b897ae6a45517f2447dbec005c872750a2
parent5c87cc7cb190fbc1ed2a8e8e9d10208a6384e21c (diff)
parent7bbf7e15a0cd931c4997b9d1337bdf435f51ebe0 (diff)
Merge pull request #853 from guiniol/indicator-color
Implement indicator color
-rw-r--r--sway/border.c16
-rw-r--r--sway/commands.c18
-rw-r--r--sway/sway.5.txt3
3 files changed, 24 insertions, 13 deletions
diff --git a/sway/border.c b/sway/border.c
index 0d3cfab8..5cb02274 100644
--- a/sway/border.c
+++ b/sway/border.c
@@ -102,6 +102,8 @@ static void render_borders(swayc_t *view, cairo_t *cr, struct border_colors *col
struct wlc_geometry *g = &view->border->geometry;
struct wlc_geometry *b = &view->border_geometry;
struct wlc_geometry *v = &view->actual_geometry;
+ enum swayc_layouts layout = view->parent->layout;
+ uint32_t color;
int x = b->origin.x - g->origin.x;
int y = b->origin.y - g->origin.y;
@@ -119,8 +121,13 @@ 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) {
+ color = colors->indicator;
+ } else {
+ color = colors->child_border;
+ }
render_sharp_line(cr,
- colors->child_border,
+ color,
x + b->size.w - right_border,
y,
right_border,
@@ -140,8 +147,13 @@ 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) {
+ color = colors->indicator;
+ } else {
+ color = colors->child_border;
+ }
render_sharp_line(cr,
- colors->child_border,
+ color,
x,
y + b->size.h - bottom_border,
b->size.w,
diff --git a/sway/commands.c b/sway/commands.c
index 54139593..5a5bcd22 100644
--- a/sway/commands.c
+++ b/sway/commands.c
@@ -2342,15 +2342,15 @@ static struct cmd_results *_do_split(int argc, char **argv, int layout) {
arrange_windows(parent, -1, -1);
}
- // update container title if tabbed/stacked
- if (swayc_tabbed_stacked_ancestor(focused)) {
- update_container_border(focused);
- swayc_t *output = swayc_parent_by_type(focused, C_OUTPUT);
- // schedule render to make changes take effect right away,
- // otherwise we would have to wait for the view to render,
- // which is unpredictable.
- wlc_output_schedule_render(output->handle);
- }
+ // update container every time
+ // if it is tabbed/stacked then the title must change
+ // if the indicator color is different then the border must change
+ update_container_border(focused);
+ swayc_t *output = swayc_parent_by_type(focused, C_OUTPUT);
+ // schedule render to make changes take effect right away,
+ // otherwise we would have to wait for the view to render,
+ // which is unpredictable.
+ wlc_output_schedule_render(output->handle);
return cmd_results_new(CMD_SUCCESS, NULL, NULL);
}
diff --git a/sway/sway.5.txt b/sway/sway.5.txt
index 36fa92d5..7de02a82 100644
--- a/sway/sway.5.txt
+++ b/sway/sway.5.txt
@@ -177,8 +177,7 @@ or triggered at runtime.
**text**::: The text color of the title bar.
**indicator**::: The color used to indicate where a new view will open. In a
tiled container, this would paint the right border of the current view if
- a new view would be opened to the right. _Note_: This is not currently
- implemented.
+ a new view would be opened to the right.
**child_border**::: The border around the view itself.
+