Merge pull request #21 from mchackorg/focus-color

Add support to change focused window's border color
This commit is contained in:
Devin J. Pohly 2020-07-26 19:26:20 -04:00 committed by GitHub
commit 5248efd407
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View File

@ -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" };

11
dwl.c
View File

@ -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);
}