From 949063804a7393b487225787b29d9ca3211d52f6 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Thu, 19 Mar 2026 07:36:50 +0800 Subject: [PATCH] fix: open_as_floating not match tag correctly --- src/fetch/client.h | 2 +- src/mango.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/fetch/client.h b/src/fetch/client.h index abf684c1..8fe831be 100644 --- a/src/fetch/client.h +++ b/src/fetch/client.h @@ -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; } diff --git a/src/mango.c b/src/mango.c index 01de9545..dae16898 100644 --- a/src/mango.c +++ b/src/mango.c @@ -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); }