From a7c57f4fafabed609ef75b92715beb4e7335d823 Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Mon, 30 Dec 2024 09:05:35 +0300 Subject: Add toggle-window-width by-id action --- src/layout/scrolling.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/layout/scrolling.rs') diff --git a/src/layout/scrolling.rs b/src/layout/scrolling.rs index 10101cca..bdafdb71 100644 --- a/src/layout/scrolling.rs +++ b/src/layout/scrolling.rs @@ -2116,6 +2116,27 @@ impl ScrollingSpace { cancel_resize_for_column(&mut self.interactive_resize, col); } + pub fn toggle_window_width(&mut self, window: Option<&W::Id>) { + if self.columns.is_empty() { + return; + } + + let col = if let Some(window) = window { + self.columns + .iter_mut() + .find(|col| col.contains(window)) + .unwrap() + } else { + &mut self.columns[self.active_column_idx] + }; + + // FIXME: when we fix preset fixed width to be per-window, this should also be made + // window-specific to resolve the correct window width. + col.toggle_width(); + + cancel_resize_for_column(&mut self.interactive_resize, col); + } + pub fn toggle_window_height(&mut self, window: Option<&W::Id>) { if self.columns.is_empty() { return; -- cgit