~ruther/dwl

19a8a095ebe782065903b9a03670560371302206 — Leonardo Hernández Hernández 2 years ago 1f59b76
call setfullscreen() in setmon()

this will help when sending to another monitor a fullscreen client
and also will prevent a crash when a client request fullscreen when it has no monitor
1 files changed, 3 insertions(+), 4 deletions(-)

M dwl.c
M dwl.c => dwl.c +3 -4
@@ 1438,9 1438,6 @@ mapnotify(struct wl_listener *listener, void *data)
	}
	printstatus();

	if (c->isfullscreen)
		setfullscreen(c, 1);

	c->mon->un_map = 1;
}



@@ 1889,6 1886,8 @@ void
setfullscreen(Client *c, int fullscreen)
{
	c->isfullscreen = fullscreen;
	if (!c->mon)
		return;
	c->bw = fullscreen ? 0 : borderpx;
	client_set_fullscreen(c, fullscreen);



@@ 1968,7 1967,7 @@ setmon(Client *c, Monitor *m, unsigned int newtags)
		resize(c, c->geom, 0);
		wlr_surface_send_enter(client_surface(c), m->wlr_output);
		c->tags = newtags ? newtags : m->tagset[m->seltags]; /* assign tags of target monitor */
		arrange(m);
		setfullscreen(c, c->isfullscreen); /* This will call arrange(c->mon) */
	}
	focusclient(focustop(selmon), 1);
}

Do not follow this link