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" }; diff --git a/dwl.c b/dwl.c index 541f531..e56f7b9 100644 --- a/dwl.c +++ b/dwl.c @@ -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); }