zwlr_layer_shell_v1_layer are ordered by bottom-most first so we can just use a loop from 3 to 0
5UOMJBV7FYVOHOJMMZU5Y2FT3MEGZ5RSHQRW2M2JWK3XZM3TSHXQC // Arrange exclusive surfaces from top->bottomarrangelayer(m, &m->layers[ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY],&usable_area, 1);arrangelayer(m, &m->layers[ZWLR_LAYER_SHELL_V1_LAYER_TOP],&usable_area, 1);arrangelayer(m, &m->layers[ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM],&usable_area, 1);arrangelayer(m, &m->layers[ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND],&usable_area, 1);
/* Arrange exclusive surfaces from top->bottom */for (i = 3; i >= 0; i--)arrangelayer(m, &m->layers[i], &usable_area, 1);
// Arrange non-exlusive surfaces from top->bottomarrangelayer(m, &m->layers[ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY],&usable_area, 0);arrangelayer(m, &m->layers[ZWLR_LAYER_SHELL_V1_LAYER_TOP],&usable_area, 0);arrangelayer(m, &m->layers[ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM],&usable_area, 0);arrangelayer(m, &m->layers[ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND],&usable_area, 0);
/* Arrange non-exlusive surfaces from top->bottom */for (i = 3; i >= 0; i--)arrangelayer(m, &m->layers[i], &usable_area, 0);