diff options
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | config.def.h | 1 | ||||
| -rw-r--r-- | dwl.c | 18 | 
3 files changed, 20 insertions, 1 deletions
| @@ -80,7 +80,7 @@ number of ways:  - Features not yet implemented:      - xdg-shell popups      - Urgent/attention/focus-request -    - Borders and selected/normal/urgent colors +    - Normal/selected/urgent border colors      - layer-shell      - Statusbar support (built-in or external)      - Damage tracking diff --git a/config.def.h b/config.def.h index 57cc6de..d445daa 100644 --- a/config.def.h +++ b/config.def.h @@ -2,6 +2,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};  /* tagging */  static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; @@ -847,6 +847,24 @@ renderclients(Monitor *m, struct timespec *now)  		if (!VISIBLEON(c, m))  			continue; +		double ox = c->x, oy = c->y; +		wlr_output_layout_output_coords(output_layout, m->wlr_output, +				&ox, &oy); +		int w = c->xdg_surface->surface->current.width; +		int h = c->xdg_surface->surface->current.height; +		struct wlr_box borders[] = { +			{ox, oy, w + 2 * c->bw, c->bw},             /* top */ +			{ox, oy + c->bw, c->bw, h},                 /* left */ +			{ox + c->bw + w, oy + c->bw, c->bw, h},     /* right */ +			{ox, oy + c->bw + h, w + 2 * c->bw, c->bw}, /* bottom */ +		}; +		int i; +		for (i = 0; i < sizeof(borders) / sizeof(borders[0]); i++) { +			scalebox(&borders[i], m->wlr_output->scale); +			wlr_render_rect(drw, &borders[i], bordercolor, +					m->wlr_output->transform_matrix); +		} +  		struct render_data rdata = {  			.output = m->wlr_output,  			.when = now, | 
