dwl

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

commit f695674361d15a312eed2234e8d21a5e03719559
parent aec21eca1fedbb8d924cd3dfaf4503e3c19fc873
Author: Forrest Bushstone <fgb.1@protonmail.com>
Date:   Fri, 29 Sep 2023 18:16:42 -0400

Check if c is fullscreen before reparenting it to LyrFloating

Closes: https://github.com/djpohly/dwl/issues/487

Diffstat:
Mdwl.c | 7++++---
1 file changed, 4 insertions(+), 3 deletions(-)

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