~ruther/dwl

59b09576b934c8837a90312fc8e7723640733172 — Devin J. Pohly 5 years ago a634b3f
restrict focusnext to the same monitor
1 files changed, 9 insertions(+), 6 deletions(-)

M dwl.c
M dwl.c => dwl.c +9 -6
@@ 411,15 411,18 @@ focus(Client *c, struct wlr_surface *surface)
void
focusnext(const Arg *arg)
{
	/* Focus the client on the selected monitor which comes first in tiling
	 * order after the currently selected client */
	Client *sel = selclient();
	if (!sel)
		return;
	/* Find the selected client (top of fstack) and focus the client
	 * following it in tiling order */
	Client *c = wl_container_of(sel->link.next, c, link);
	/* Skip the sentinel node if we wrap around the end of the list */
	if (&c->link == &clients)
		c = wl_container_of(c->link.next, c, link);
	Client *c;
	wl_list_for_each(c, &sel->link, link) {
		if (&c->link == &clients)
			continue;  /* wrap past the sentinel node */
		if (VISIBLEON(c, selmon))
			break;  /* found it */
	}
	focus(c, c->xdg_surface->surface);
}


Do not follow this link