aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Cardell Widerkrantz <mc@hack.org>2020-07-26 13:35:49 +0200
committerMichael Cardell Widerkrantz <mc@hack.org>2020-07-26 23:10:42 +0200
commit2fb3701c6e3f897793cf521ddf1fe4fe9ef54612 (patch)
tree6a05d0c389c9552a5422ca3d6cfc89d351961e53
parente2887f2cfd10bc2f0d55cd0f782a9a3ea6a02d8a (diff)
Add support to change focused window's border color
-rw-r--r--config.def.h1
-rw-r--r--dwl.c11
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" };
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);
}