aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-12-16 09:03:50 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2024-12-30 20:12:37 +0300
commit965619d0964973966bbd1d9d8087d1e8e8ff4867 (patch)
tree2aebcbce1c730bb0ad2db1a209ce9afc37ad1ad2
parent9f017e834ca331141792c1143be323fd146852ef (diff)
downloadniri-965619d0964973966bbd1d9d8087d1e8e8ff4867.tar.gz
niri-965619d0964973966bbd1d9d8087d1e8e8ff4867.tar.bz2
niri-965619d0964973966bbd1d9d8087d1e8e8ff4867.zip
layout: Move toggle_fullscreen() impl to Workspace
-rw-r--r--src/layout/scrolling.rs10
-rw-r--r--src/layout/workspace.rs10
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>) {