fix refocus on sendmon

This commit is contained in:
Devin J. Pohly 2020-04-26 14:11:44 -05:00
parent 88f0ea343b
commit cd6683e6a1

3
dwl.c
View File

@ -1057,6 +1057,7 @@ sendmon(Client *c, Monitor *m)
{ {
if (c->mon == m) if (c->mon == m)
return; return;
int hadfocus = (c == selclient());
c->mon = m; c->mon = m;
/* Make sure window actually overlaps with the monitor */ /* Make sure window actually overlaps with the monitor */
applybounds(c, &c->mon->m); applybounds(c, &c->mon->m);
@ -1064,7 +1065,7 @@ sendmon(Client *c, Monitor *m)
wlr_surface_send_enter(c->xdg_surface->surface, c->mon->wlr_output); wlr_surface_send_enter(c->xdg_surface->surface, c->mon->wlr_output);
c->tags = m->tagset[m->seltags]; /* assign tags of target monitor */ c->tags = m->tagset[m->seltags]; /* assign tags of target monitor */
if (c == selclient()) if (hadfocus)
refocus(); refocus();
} }