From 798d9c55dfaae46ab09e9176f5c3dd8fa21f478a Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Sat, 3 Feb 2024 09:45:26 +0400 Subject: Support fullscreen for new windows --- src/handlers/xdg_shell.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/handlers') diff --git a/src/handlers/xdg_shell.rs b/src/handlers/xdg_shell.rs index a8023a69..2a1b1d0b 100644 --- a/src/handlers/xdg_shell.rs +++ b/src/handlers/xdg_shell.rs @@ -230,6 +230,13 @@ impl XdgShellHandler for State { } self.niri.layout.set_fullscreen(&window, true); + } else if let Some(window) = self.niri.unmapped_windows.get(surface.wl_surface()) { + if let Some(ws) = self.niri.layout.active_workspace() { + window.toplevel().with_pending_state(|state| { + state.size = Some(ws.view_size()); + state.states.set(xdg_toplevel::State::Fullscreen); + }); + } } } @@ -246,6 +253,13 @@ impl XdgShellHandler for State { { let window = window.clone(); self.niri.layout.set_fullscreen(&window, false); + } else if let Some(window) = self.niri.unmapped_windows.get(surface.wl_surface()) { + if let Some(ws) = self.niri.layout.active_workspace() { + window.toplevel().with_pending_state(|state| { + state.size = Some(ws.new_window_size()); + state.states.unset(xdg_toplevel::State::Fullscreen); + }); + } } } -- cgit