diff options
author | Michael Cardell Widerkrantz <mc@hack.org> | 2020-07-26 13:35:49 +0200 |
---|---|---|
committer | Michael Cardell Widerkrantz <mc@hack.org> | 2020-07-26 23:10:42 +0200 |
commit | 2fb3701c6e3f897793cf521ddf1fe4fe9ef54612 (patch) | |
tree | 6a05d0c389c9552a5422ca3d6cfc89d351961e53 | |
parent | e2887f2cfd10bc2f0d55cd0f782a9a3ea6a02d8a (diff) |
Add support to change focused window's border color
-rw-r--r-- | config.def.h | 1 | ||||
-rw-r--r-- | dwl.c | 11 |
2 files changed, 10 insertions, 2 deletions
diff --git a/config.def.h b/config.def.h index e9ced7c..65f7259 100644 --- a/config.def.h +++ b/config.def.h @@ -3,6 +3,7 @@ static const int sloppyfocus = 1; /* focus follows mouse */ static const unsigned int borderpx = 1; /* border pixel of windows */ static const float rootcolor[] = {0.3, 0.3, 0.3, 1.0}; static const float bordercolor[] = {0.5, 0.5, 0.5, 1.0}; +static const float focuscolor[] = {1.0, 0.0, 0.0, 1.0}; /* tagging */ static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; @@ -1138,7 +1138,8 @@ render(struct wlr_surface *surface, int sx, int sy, void *data) void renderclients(Monitor *m, struct timespec *now) { - Client *c; + Client *c, *sel = selclient(); + const float *color; double ox, oy; int i, w, h; struct render_data rdata; @@ -1164,9 +1165,15 @@ renderclients(Monitor *m, struct timespec *now) {ox + c->bw + w, oy + c->bw, c->bw, h}, /* right */ {ox, oy + c->bw + h, w + 2 * c->bw, c->bw}, /* bottom */ }; + + if (c == sel) + color = focuscolor; + else + color = bordercolor; + for (i = 0; i < 4; i++) { scalebox(&borders[i], m->wlr_output->scale); - wlr_render_rect(drw, &borders[i], bordercolor, + wlr_render_rect(drw, &borders[i], color, m->wlr_output->transform_matrix); } |