diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-12-16 09:10:53 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-12-30 20:12:37 +0300 |
| commit | 5ce3369aa617ae8e8cc638cc994a04c4938434a5 (patch) | |
| tree | ae8fd60f7416c486353caf02bcf92d128c9de8ea /src/layout/workspace.rs | |
| parent | f38acfe98848746598233a275ac3ee226f3df658 (diff) | |
| download | niri-5ce3369aa617ae8e8cc638cc994a04c4938434a5.tar.gz niri-5ce3369aa617ae8e8cc638cc994a04c4938434a5.tar.bz2 niri-5ce3369aa617ae8e8cc638cc994a04c4938434a5.zip | |
layout: Support fullscreen for auto-floating windows
Diffstat (limited to 'src/layout/workspace.rs')
| -rw-r--r-- | src/layout/workspace.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/layout/workspace.rs b/src/layout/workspace.rs index 6220fd1e..a3c1dcd5 100644 --- a/src/layout/workspace.rs +++ b/src/layout/workspace.rs @@ -479,7 +479,9 @@ impl<W: LayoutElement> Workspace<W> { ); tile.set_unfullscreen_to_floating(is_floating); - if is_floating { + // If the tile is pending fullscreen, open it in the scrolling layout where it can go + // fullscreen. + if is_floating && !tile.window().is_pending_fullscreen() { self.add_floating_tile(tile, None, activate); } else { self.add_tile(None, tile, activate, width, is_full_width); @@ -562,6 +564,7 @@ impl<W: LayoutElement> Workspace<W> { ) { self.enter_output_for_window(tile.window()); + // TODO: open-fullscreen into scrolling. let floating_has_window = self.floating.has_window(right_of); if is_floating || floating_has_window { if floating_has_window { |
