fix: fix multi master focus record error

This commit is contained in:
DreamMaoMao 2026-02-13 20:23:03 +08:00
parent c05eec7f53
commit 0fe87e6286

View file

@ -574,23 +574,29 @@ bool client_is_in_same_stack(Client *sc, Client *tc, Client *fc) {
if (id == TILE || id == VERTICAL_TILE || id == DECK ||
id == VERTICAL_DECK || id == RIGHT_TILE) {
if (fc && !fc->ismaster)
if (tc->ismaster ^ sc->ismaster)
return false;
else if (!sc->ismaster)
if (fc && !(fc->ismaster ^ sc->ismaster))
return false;
else
return true;
}
if (id == TGMIX) {
if (fc && !fc->ismaster)
if (tc->ismaster ^ sc->ismaster)
return false;
if (fc && !(fc->ismaster ^ sc->ismaster))
return false;
if (!sc->ismaster && sc->mon->visible_tiling_clients <= 3)
return true;
}
if (id == CENTER_TILE) {
if (fc && !fc->ismaster)
if (tc->ismaster ^ sc->ismaster)
return false;
if (!sc->ismaster && sc->geom.x == tc->geom.x)
if (fc && !(fc->ismaster ^ sc->ismaster))
return false;
if (sc->geom.x == tc->geom.x)
return true;
else
return false;