diff options
| author | Leonardo Hernández Hernández <leohdz172@protonmail.com> | 2022-07-19 20:13:56 -0500 | 
|---|---|---|
| committer | Leonardo Hernández Hernández <leohdz172@protonmail.com> | 2022-07-19 20:13:56 -0500 | 
| commit | 90a12c90a0aa0ac16327b0816de4d9dff69b357e (patch) | |
| tree | 475cc52b6ce103f1ab04d9122dc73c65e47df9b7 /dwl.c | |
| parent | e0822926068e84b0fc391e0306f66ea0ec16cf47 (diff) | |
always set the same monitor and tags for child clients of a client
fixes #272
Diffstat (limited to '')
| -rw-r--r-- | dwl.c | 11 | 
1 files changed, 9 insertions, 2 deletions
| @@ -1388,7 +1388,7 @@ void  mapnotify(struct wl_listener *listener, void *data)  {  	/* Called when the surface is mapped, or ready to display on-screen. */ -	Client *c = wl_container_of(listener, c, map); +	Client *p, *c = wl_container_of(listener, c, map);  	int i;  	/* Create scene tree for this client and its border */ @@ -1432,7 +1432,14 @@ mapnotify(struct wl_listener *listener, void *data)  	wl_list_insert(&fstack, &c->flink);  	/* Set initial monitor, tags, floating status, and focus */ -	applyrules(c); +	if ((p = client_get_parent(c))) { +		/* Set the same monitor and tags than its parent */ +		c->isfloating = 1; +		wlr_scene_node_reparent(c->scene, layers[LyrFloat]); +		setmon(c, p->mon, p->tags); +	} else { +		applyrules(c); +	}  	printstatus();  	if (c->isfullscreen) | 
