dwl

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

commit b04c73be3de62d2739b5bb85e40f0c9af1122903
parent 8cdb9971264adfdc35777b5a9935c2e4c47eea9f
Author: Leonardo Hernández Hernández <leohdz172@protonmail.com>
Date:   Sat, 23 Jul 2022 13:25:47 -0500

make sure we do not create a double fullscreen_bg

and also make sure we do not destroy it if it does not exist
Fixes: #274

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

diff --git a/dwl.c b/dwl.c @@ -1879,14 +1879,19 @@ setfullscreen(Client *c, int fullscreen) * * For brevity we set a black background for all clients */ - c->fullscreen_bg = wlr_scene_rect_create(c->scene, - c->geom.width, c->geom.height, fullscreen_bg); - wlr_scene_node_lower_to_bottom(&c->fullscreen_bg->node); + if (!c->fullscreen_bg) { + c->fullscreen_bg = wlr_scene_rect_create(c->scene, + c->geom.width, c->geom.height, fullscreen_bg); + wlr_scene_node_lower_to_bottom(&c->fullscreen_bg->node); + } } else { /* restore previous size instead of arrange for floating windows since * client positions are set by the user and cannot be recalculated */ resize(c, c->prev, 0); - wlr_scene_node_destroy(&c->fullscreen_bg->node); + if (c->fullscreen_bg) { + wlr_scene_node_destroy(&c->fullscreen_bg->node); + c->fullscreen_bg = NULL; + } } arrange(c->mon); printstatus();