diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-05-11 09:33:23 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-05-11 09:33:23 +0400 |
| commit | 1c14a0a2a97867878c65ea33fa8b927618efb555 (patch) | |
| tree | 16bb26bf1d8b83fca5d768bce7577443e26584e5 /src/layout/workspace.rs | |
| parent | 2fd9a03bd71b4709659cdd35192109b47c3b0e10 (diff) | |
| download | niri-1c14a0a2a97867878c65ea33fa8b927618efb555.tar.gz niri-1c14a0a2a97867878c65ea33fa8b927618efb555.tar.bz2 niri-1c14a0a2a97867878c65ea33fa8b927618efb555.zip | |
Add a reset-window-height action
Diffstat (limited to 'src/layout/workspace.rs')
| -rw-r--r-- | src/layout/workspace.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/layout/workspace.rs b/src/layout/workspace.rs index 5deae266..3dbb473b 100644 --- a/src/layout/workspace.rs +++ b/src/layout/workspace.rs @@ -1988,6 +1988,17 @@ impl<W: LayoutElement> Workspace<W> { cancel_resize_if_this_column(&mut self.interactive_resize, col); } + pub fn reset_window_height(&mut self) { + if self.columns.is_empty() { + return; + } + + let col = &mut self.columns[self.active_column_idx]; + col.reset_window_height(None, true); + + cancel_resize_if_this_column(&mut self.interactive_resize, col); + } + pub fn set_fullscreen(&mut self, window: &W::Id, is_fullscreen: bool) { let (mut col_idx, tile_idx) = self .columns @@ -3091,6 +3102,12 @@ impl<W: LayoutElement> Column<W> { self.update_tile_sizes(animate); } + fn reset_window_height(&mut self, tile_idx: Option<usize>, animate: bool) { + let tile_idx = tile_idx.unwrap_or(self.active_tile_idx); + self.heights[tile_idx] = WindowHeight::Auto; + self.update_tile_sizes(animate); + } + fn set_fullscreen(&mut self, is_fullscreen: bool) { assert_eq!(self.tiles.len(), 1); self.is_fullscreen = is_fullscreen; |
