fix: open_as_floating not match tag correctly

This commit is contained in:
DreamMaoMao 2026-03-19 07:36:50 +08:00
parent 17c037171a
commit 949063804a
2 changed files with 6 additions and 6 deletions

View file

@ -5,7 +5,7 @@ bool check_hit_no_border(Client *c) {
}
if (c->mon && !c->mon->isoverview &&
c->mon->pertag->no_render_border[get_tags_first_tag_num(c->tags) + 1]) {
c->mon->pertag->no_render_border[get_tags_first_tag_num(c->tags)]) {
hit_no_border = true;
}

View file

@ -1417,7 +1417,7 @@ void client_reset_mon_tags(Client *c, Monitor *mon, uint32_t newtags) {
void check_match_tag_floating_rule(Client *c, Monitor *mon) {
if (c->tags && !c->isfloating && mon && !c->swallowedby &&
mon->pertag->open_as_floating[get_tags_first_tag_num(c->tags) + 1]) {
mon->pertag->open_as_floating[get_tags_first_tag_num(c->tags)]) {
c->isfloating = 1;
}
}
@ -4063,9 +4063,9 @@ void init_client_properties(Client *c) {
c->master_mfact_per = 0.0f;
c->master_inner_per = 0.0f;
c->stack_inner_per = 0.0f;
c->old_stack_inner_per = 1.0f;
c->old_master_inner_per = 1.0f;
c->old_master_mfact_per = 1.0f;
c->old_stack_inner_per = 0.0f;
c->old_master_inner_per = 0.0f;
c->old_master_mfact_per = 0.0f;
c->isterm = 0;
c->allow_csd = 0;
c->force_maximize = 0;
@ -5098,7 +5098,7 @@ setfloating(Client *c, int32_t floating) {
layers[c->isfloating ? LyrTop : LyrTile]);
}
if (!c->isfloating && old_floating_state) {
if (!c->isfloating && old_floating_state && (c->old_stack_inner_per > 0.0f || c->old_master_inner_per > 0.0f)) {
restore_size_per(c->mon, c);
}