feat: support restore stack from non-tile state

This commit is contained in:
DreamMaoMao 2026-02-13 20:02:23 +08:00
parent 8a924494c6
commit c05eec7f53
3 changed files with 47 additions and 6 deletions

View file

@ -4810,7 +4810,7 @@ setfloating(Client *c, int32_t floating) {
}
if (!c->isfloating && old_floating_state) {
set_size_per(c->mon, c);
restore_size_per(c->mon, c);
}
if (!c->force_maximize)
@ -4896,7 +4896,7 @@ void setmaximizescreen(Client *c, int32_t maximizescreen) {
wlr_scene_node_reparent(&c->scene->node,
layers[c->isfloating ? LyrTop : LyrTile]);
if (!c->ismaximizescreen && old_maximizescreen_state) {
set_size_per(c->mon, c);
restore_size_per(c->mon, c);
}
if (!c->force_maximize && !c->ismaximizescreen) {
@ -4967,7 +4967,7 @@ void setfullscreen(Client *c, int32_t fullscreen) // 用自定义全屏代理自
}
if (!c->isfullscreen && old_fullscreen_state) {
set_size_per(c->mon, c);
restore_size_per(c->mon, c);
}
arrange(c->mon, false, false);