From f9bc705314a667085c12784d23ab8a4192d18c3f Mon Sep 17 00:00:00 2001 From: ProsperousPotato Date: Wed, 31 Dec 2025 22:45:40 +0000 Subject: focus follows sendmon --- dwm.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/dwm.c b/dwm.c index ec11435..5053619 100644 --- a/dwm.c +++ b/dwm.c @@ -1646,15 +1646,21 @@ sendmon(Client *c, Monitor *m) { if (c->mon == m) return; + int hadfocus = (c == selmon->sel); unfocus(c, 1); detach(c); detachstack(c); + arrange(c->mon); c->mon = m; c->tags = m->tagset[m->seltags]; /* assign tags of target monitor */ attach(c); attachstack(c); - focus(NULL); - arrange(NULL); + arrange(m); + if (hadfocus) { + focus(c); + restack(m); + } else + focus(NULL); } void -- cgit v1.2.3