diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-12-16 09:03:50 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-12-30 20:12:37 +0300 |
| commit | 965619d0964973966bbd1d9d8087d1e8e8ff4867 (patch) | |
| tree | 2aebcbce1c730bb0ad2db1a209ce9afc37ad1ad2 /src | |
| parent | 9f017e834ca331141792c1143be323fd146852ef (diff) | |
| download | niri-965619d0964973966bbd1d9d8087d1e8e8ff4867.tar.gz niri-965619d0964973966bbd1d9d8087d1e8e8ff4867.tar.bz2 niri-965619d0964973966bbd1d9d8087d1e8e8ff4867.zip | |
layout: Move toggle_fullscreen() impl to Workspace
Diffstat (limited to 'src')
| -rw-r--r-- | src/layout/scrolling.rs | 10 | ||||
| -rw-r--r-- | src/layout/workspace.rs | 10 |
2 files changed, 6 insertions, 14 deletions
diff --git a/src/layout/scrolling.rs b/src/layout/scrolling.rs index 83c597aa..27618217 100644 --- a/src/layout/scrolling.rs +++ b/src/layout/scrolling.rs @@ -2140,16 +2140,6 @@ impl<W: LayoutElement> ScrollingSpace<W> { } } - pub fn toggle_fullscreen(&mut self, window: &W::Id) { - let col = self - .columns - .iter_mut() - .find(|col| col.contains(window)) - .unwrap(); - let value = !col.is_fullscreen; - self.set_fullscreen(window, value); - } - pub fn render_above_top_layer(&self) -> bool { // Render above the top layer if we're on a fullscreen window and the view is stationary. if self.columns.is_empty() { diff --git a/src/layout/workspace.rs b/src/layout/workspace.rs index b5d0f894..d4463636 100644 --- a/src/layout/workspace.rs +++ b/src/layout/workspace.rs @@ -985,10 +985,12 @@ impl<W: LayoutElement> Workspace<W> { } pub fn toggle_fullscreen(&mut self, window: &W::Id) { - if self.floating.has_window(window) { - self.toggle_window_floating(Some(window)); - } - self.scrolling.toggle_fullscreen(window); + let tile = self + .tiles() + .find(|tile| tile.window().id() == window) + .unwrap(); + let current = tile.window().is_pending_fullscreen(); + self.set_fullscreen(window, !current); } pub fn toggle_window_floating(&mut self, id: Option<&W::Id>) { |
