diff options
| author | Leonardo Hernández Hernández <leohdz172@protonmail.com> | 2022-09-10 23:45:14 -0500 | 
|---|---|---|
| committer | Leonardo Hernández Hernández <leohdz172@protonmail.com> | 2022-09-10 23:45:14 -0500 | 
| commit | fd67087a82d52f79cb3f02f9048ee4dd603fd8a6 (patch) | |
| tree | 8db0cc04a8b2ed7c369057af6d9d6c0658a831e6 /dwl.c | |
| parent | 77ba8e51276ce94515913091d669db21e856e8cd (diff) | |
make sure the parent is mapped prior set monitor and tags
Diffstat (limited to 'dwl.c')
| -rw-r--r-- | dwl.c | 11 | 
1 files changed, 6 insertions, 5 deletions
| @@ -1439,13 +1439,14 @@ mapnotify(struct wl_listener *listener, void *data)  	wl_list_insert(&clients, &c->link);  	wl_list_insert(&fstack, &c->flink); -	/* Set initial monitor, tags, floating status, and focus */ -	if ((p = client_get_parent(c))) { -		/* Set the same monitor and tags than its parent */ +	/* Set initial monitor, tags, floating status, and focus: +	 * we always consider floating, clients that have parent and thus +	 * we set the same tags and monitor than its parent, if not +	 * try to apply rules for them */ +	if ((p = client_get_parent(c)) && client_is_mapped(p)) {  		c->isfloating = 1;  		wlr_scene_node_reparent(c->scene, layers[LyrFloat]); -		/* TODO recheck if !p->mon is possible with wlroots 0.16.0 */ -		setmon(c, p->mon ? p->mon : selmon, p->tags); +		setmon(c, p->mon, p->tags);  	} else {  		applyrules(c);  	} | 
