diff options
| author | Forrest Bushstone <fgb.1@protonmail.com> | 2023-09-29 18:16:42 -0400 | 
|---|---|---|
| committer | Leonardo Hernández Hernández <leohdz172@proton.me> | 2023-09-29 18:01:31 -0600 | 
| commit | f695674361d15a312eed2234e8d21a5e03719559 (patch) | |
| tree | bfb64fba593364dcfab04a33780a9f03e4333d81 /dwl.c | |
| parent | aec21eca1fedbb8d924cd3dfaf4503e3c19fc873 (diff) | |
Check if c is fullscreen before reparenting it to LyrFloating
Closes: https://github.com/djpohly/dwl/issues/487
Diffstat (limited to '')
| -rw-r--r-- | dwl.c | 7 | 
1 files changed, 4 insertions, 3 deletions
| @@ -2028,7 +2028,8 @@ setfloating(Client *c, int floating)  	c->isfloating = floating;  	if (!c->mon)  		return; -	wlr_scene_node_reparent(&c->scene->node, layers[c->isfloating ? LyrFloat : LyrTile]); +	wlr_scene_node_reparent(&c->scene->node, layers[c->isfullscreen +			? LyrFS : c->isfloating ? LyrFloat : LyrTile]);  	arrange(c->mon);  	printstatus();  } @@ -2041,7 +2042,7 @@ setfullscreen(Client *c, int fullscreen)  		return;  	c->bw = fullscreen ? 0 : borderpx;  	client_set_fullscreen(c, fullscreen); -	wlr_scene_node_reparent(&c->scene->node, layers[fullscreen +	wlr_scene_node_reparent(&c->scene->node, layers[c->isfullscreen  			? LyrFS : c->isfloating ? LyrFloat : LyrTile]);  	if (fullscreen) { @@ -2102,8 +2103,8 @@ setmon(Client *c, Monitor *m, uint32_t newtags)  		/* Make sure window actually overlaps with the monitor */  		resize(c, c->geom, 0);  		c->tags = newtags ? newtags : m->tagset[m->seltags]; /* assign tags of target monitor */ -		setfloating(c, c->isfloating);  		setfullscreen(c, c->isfullscreen); /* This will call arrange(c->mon) */ +		setfloating(c, c->isfloating);  	}  	focusclient(focustop(selmon), 1);  } | 
