aboutsummaryrefslogtreecommitdiff
path: root/src/window/unmapped.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2025-09-02 08:07:22 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2025-10-15 09:04:16 +0300
commite1fad994da9565b43c7fb139cb2fb7bf404cc320 (patch)
tree305fa0714d66ad2b4346b3aee6eb785099b29fa1 /src/window/unmapped.rs
parente5d4e7c1b1a0b61770b6711a53fe41920d56452d (diff)
downloadniri-e1fad994da9565b43c7fb139cb2fb7bf404cc320.tar.gz
niri-e1fad994da9565b43c7fb139cb2fb7bf404cc320.tar.bz2
niri-e1fad994da9565b43c7fb139cb2fb7bf404cc320.zip
Implement maximize-to-edges (true Wayland maximize)
Diffstat (limited to 'src/window/unmapped.rs')
-rw-r--r--src/window/unmapped.rs11
1 files changed, 11 insertions, 0 deletions
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<Option<Output>>,
+
+ /// 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<String>,
+
+ /// 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,
}