feat: support centerwin in scroller window

This commit is contained in:
Mental-Vortex
2025-12-07 17:35:50 +08:00
committed by DreamMaoMao
parent 1e8e4677dd
commit 9a2d2397c1

View File

@@ -713,15 +713,27 @@ int centerwin(const Arg *arg) {
Client *c = NULL; Client *c = NULL;
c = selmon->sel; c = selmon->sel;
if (!c || c->isfullscreen) if (!c || c->isfullscreen || c->ismaximizescreen)
return 0; return 0;
if (!c->isfloating)
setfloating(c, true);
if (c->isfloating) {
c->float_geom = setclient_coordinate_center(c, c->geom, 0, 0); c->float_geom = setclient_coordinate_center(c, c->geom, 0, 0);
c->iscustomsize = 1; c->iscustomsize = 1;
resize(c, c->float_geom, 1); resize(c, c->float_geom, 1);
return 0; return 0;
}
if (!is_scroller_layout(selmon))
return 0;
if (selmon->pertag->ltidxs[selmon->pertag->curtag]->id == SCROLLER) {
c->geom.x = selmon->w.x + (selmon->w.width - c->geom.width) / 2;
} else {
c->geom.y = selmon->w.y + (selmon->w.height - c->geom.height) / 2;
}
arrange(selmon, false);
return 0;
} }
int spawn_shell(const Arg *arg) { int spawn_shell(const Arg *arg) {