From fdbfaf902d8eb358891e6879c786c16a22ac69cf Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Sun, 16 Mar 2025 13:43:04 +0800 Subject: [PATCH] fix: error width for unfocused window of scroller layout --- maomao.c | 4 +++- parse_config.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/maomao.c b/maomao.c index 9056e69..90e414a 100644 --- a/maomao.c +++ b/maomao.c @@ -1460,7 +1460,7 @@ applyrules(Client *c) { r->animation_type_close == NULL ? c->animation_type_close : r->animation_type_close; c->scroller_proportion = r->scroller_proportion > 0 ? r->scroller_proportion - : scroller_default_proportion; + : c->scroller_proportion; c->isnoborder = r->isnoborder > 0 ? r->isnoborder : c->isnoborder; newtags = r->tags > 0 ? r->tags | newtags : newtags; i = 0; @@ -5608,6 +5608,7 @@ void scroller(Monitor *m, unsigned int gappo, unsigned int gappi) { for (i = 1; i <= focus_client_index; i++) { c = tempClients[focus_client_index - i]; + target_geom.width = max_client_width * c->scroller_proportion; target_geom.x = tempClients[focus_client_index - i + 1]->geom.x - gappih - target_geom.width; resize(c, target_geom, 0); @@ -5615,6 +5616,7 @@ void scroller(Monitor *m, unsigned int gappo, unsigned int gappi) { for (i = 1; i < n - focus_client_index; i++) { c = tempClients[focus_client_index + i]; + target_geom.width = max_client_width * c->scroller_proportion; target_geom.x = tempClients[focus_client_index + i - 1]->geom.x + gappih + tempClients[focus_client_index + i - 1]->geom.width; resize(c, target_geom, 0); diff --git a/parse_config.h b/parse_config.h index e99a43a..f958721 100644 --- a/parse_config.h +++ b/parse_config.h @@ -801,7 +801,7 @@ void parse_config_line(Config *config, const char *line) { rule->height = -1; rule->animation_type_open = NULL; rule->animation_type_close = NULL; - rule->scroller_proportion = -1; + rule->scroller_proportion = 0; rule->id = NULL; rule->title = NULL; rule->tags = 0;