From e1fad994da9565b43c7fb139cb2fb7bf404cc320 Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Tue, 2 Sep 2025 08:07:22 +0300 Subject: Implement maximize-to-edges (true Wayland maximize) --- src/window/unmapped.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/window/unmapped.rs') diff --git a/src/window/unmapped.rs b/src/window/unmapped.rs index 6ca11b50..d1918f5a 100644 --- a/src/window/unmapped.rs +++ b/src/window/unmapped.rs @@ -21,6 +21,9 @@ pub enum InitialConfigureState { NotConfigured { /// Whether the window requested to be fullscreened, and the requested output, if any. wants_fullscreen: Option>, + + /// Whether the window requested to be maximized. + wants_maximized: bool, }, /// The window has been configured. Configured { @@ -64,6 +67,13 @@ pub enum InitialConfigureState { /// Workspace to open this window on. workspace_name: Option, + + /// Whether the window should be maximized. + /// + /// This corresponds to the window having the Maximized toplevel state. However, if the + /// window is also pending fullscreen, then it has the Fullscreen toplevel state, so we + /// need to store pending maximized elsewhere, hence this field. + is_pending_maximized: bool, }, } @@ -74,6 +84,7 @@ impl Unmapped { window, state: InitialConfigureState::NotConfigured { wants_fullscreen: None, + wants_maximized: false, }, activation_token_data: None, } -- cgit