aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeonardo Hernández Hernández <leohdz172@protonmail.com>2022-09-02 18:22:15 -0500
committerLeonardo Hernández Hernández <leohdz172@protonmail.com>2022-09-02 18:22:15 -0500
commit19a8a095ebe782065903b9a03670560371302206 (patch)
treeb712d686ca4386b2c4c979ed455e8d7ec4dd9aad
parent1f59b76d7726c83e8131609d806d5c78abb89356 (diff)
call setfullscreen() in setmon()
this will help when sending to another monitor a fullscreen client and also will prevent a crash when a client request fullscreen when it has no monitor
-rw-r--r--dwl.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/dwl.c b/dwl.c
index 85db889..f6db3c1 100644
--- a/dwl.c
+++ b/dwl.c
@@ -1438,9 +1438,6 @@ mapnotify(struct wl_listener *listener, void *data)
}
printstatus();
- if (c->isfullscreen)
- setfullscreen(c, 1);
-
c->mon->un_map = 1;
}
@@ -1889,6 +1886,8 @@ void
setfullscreen(Client *c, int fullscreen)
{
c->isfullscreen = fullscreen;
+ if (!c->mon)
+ return;
c->bw = fullscreen ? 0 : borderpx;
client_set_fullscreen(c, fullscreen);
@@ -1968,7 +1967,7 @@ setmon(Client *c, Monitor *m, unsigned int newtags)
resize(c, c->geom, 0);
wlr_surface_send_enter(client_surface(c), m->wlr_output);
c->tags = newtags ? newtags : m->tagset[m->seltags]; /* assign tags of target monitor */
- arrange(m);
+ setfullscreen(c, c->isfullscreen); /* This will call arrange(c->mon) */
}
focusclient(focustop(selmon), 1);
}