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