Store position and size of windows before going fullscreen. This is more efficient than arrange() and also works with floating windows
All the clients keep their original position because arrange() isn't used after quitting fullscreen
O3TIITAWQBJXO45JGUYX2N4JITKH4SEHV62AN5OG6GXQHDXVCR7QC
if (c->surface.xdg->toplevel->current.fullscreen) { /* fullscreen off */
resize(c, c->prevx, c->prevy, c->prevwidth, c->prevheight, 0);
} else { /* fullscreen on */
c->prevx = c->geom.x;
c->prevy = c->geom.y;
c->prevheight = c->geom.height;
c->prevwidth = c->geom.width;
resize(c, c->mon->w.x, c->mon->w.y, c->mon->w.width, c->mon->w.height, 0);
}