From c832bdecdda44648542f60dab73904f3e80dc857 Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Tue, 2 Sep 2025 14:16:39 +0300 Subject: layout/scrolling: Track pending vs. current fullscreen for Columns We already did that for Tiles, but for Columns we only tracked what was effectively pending fullscreen. We used it in several places where the current fullscreen should've been used instead, like the tile origin or the view offset. This commit splits the two and makes every place use the right one. Fixes things like tiles briefly appearing at y=0 between issuing the fullscreen command and the tile committing in response to the fullscreen configure. --- src/layout/workspace.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/layout/workspace.rs') diff --git a/src/layout/workspace.rs b/src/layout/workspace.rs index efba6ee6..6c343858 100644 --- a/src/layout/workspace.rs +++ b/src/layout/workspace.rs @@ -444,8 +444,8 @@ impl Workspace { } } - pub fn is_active_fullscreen(&self) -> bool { - self.scrolling.is_active_fullscreen() + pub fn is_active_pending_fullscreen(&self) -> bool { + self.scrolling.is_active_pending_fullscreen() } pub fn set_output(&mut self, output: Option) { @@ -571,7 +571,7 @@ impl Workspace { match target { WorkspaceAddWindowTarget::Auto => { // Don't steal focus from an active fullscreen window. - let activate = activate.map_smart(|| !self.is_active_fullscreen()); + let activate = activate.map_smart(|| !self.is_active_pending_fullscreen()); // If the tile is pending fullscreen, open it in the scrolling layout where it can // go fullscreen. -- cgit