dwl

My patch set and modifications to dwl
git clone git://git.ethandl.dev/dwl
Log | Files | Refs | README | LICENSE

commit fd67087a82d52f79cb3f02f9048ee4dd603fd8a6
parent 77ba8e51276ce94515913091d669db21e856e8cd
Author: Leonardo Hernández Hernández <leohdz172@protonmail.com>
Date:   Sat, 10 Sep 2022 23:45:14 -0500

make sure the parent is mapped prior set monitor and tags

Diffstat:
Mdwl.c | 11++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/dwl.c b/dwl.c @@ -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); }