diff options
| author | Devin J. Pohly <djpohly@gmail.com> | 2020-04-26 20:00:06 -0500 | 
|---|---|---|
| committer | Devin J. Pohly <djpohly@gmail.com> | 2020-04-26 20:00:06 -0500 | 
| commit | b025b7bdbd88e2409b60e7969dfa9905943f4cd1 (patch) | |
| tree | 99edec1c995bd8aeaf728e21ffed488d159980d3 | |
| parent | abc (diff) | |
| download | dwl-b025b7bdbd88e2409b60e7969dfa9905943f4cd1.tar.gz dwl-b025b7bdbd88e2409b60e7969dfa9905943f4cd1.tar.bz2 dwl-b025b7bdbd88e2409b60e7969dfa9905943f4cd1.tar.xz dwl-b025b7bdbd88e2409b60e7969dfa9905943f4cd1.tar.zst dwl-b025b7bdbd88e2409b60e7969dfa9905943f4cd1.zip | |
render windows across monitors
| -rw-r--r-- | dwl.c | 10 | 
1 files changed, 6 insertions, 4 deletions
| @@ -855,10 +855,12 @@ renderclients(Monitor *m, struct timespec *now)  	 * our stacking list is ordered front-to-back, we iterate over it backwards. */  	Client *c;  	wl_list_for_each_reverse(c, &stack, slink) { -		/* Only render clients which are on this monitor. */ -		/* XXX consider checking wlr_output_layout_intersects, in case a -		 * window can be seen on multiple outputs */ -		if (!VISIBLEON(c, m)) +		/* Only render visible clients which show on this monitor */ +		struct wlr_box cbox = { +			.x = c->x, .y = c->y, .width = c->w, .height = c->h, +		}; +		if (!VISIBLEON(c, c->mon) || !wlr_output_layout_intersects( +					output_layout, m->wlr_output, &cbox))  			continue;  		double ox = c->x, oy = c->y; | 
