From a64a7f7889123a34ba7fd390f44a110d0f96c93c Mon Sep 17 00:00:00 2001 From: Hakan Seven Date: Thu, 20 Aug 2026 19:58:07 +0300 Subject: [PATCH] fix(ribbon): preserve forced panel levels --- src/ui/ribbon/collapse.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ui/ribbon/collapse.rs b/src/ui/ribbon/collapse.rs index 63f7cfba8..e99ddc72f 100644 --- a/src/ui/ribbon/collapse.rs +++ b/src/ui/ribbon/collapse.rs @@ -285,7 +285,11 @@ impl<'a> Widget for CollapsePanels<'a> { heights.push([f.height, c.height, b.height, t.height]); } } - let levels = decide_levels(self.mode, &widths, max_w); + let levels = if let Some(level) = self.mode.forced_level() { + vec![level; n] + } else { + decide_levels(self.mode, &widths, max_w) + }; // The row is "tight" once any panel has dropped to its small icon — the // last, most cramped state. The tab bar hides its mode selector then.