aboutsummaryrefslogtreecommitdiff
path: root/src/protocols
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/protocols
parente5d4e7c1b1a0b61770b6711a53fe41920d56452d (diff)
downloadniri-e1fad994da9565b43c7fb139cb2fb7bf404cc320.tar.gz
niri-e1fad994da9565b43c7fb139cb2fb7bf404cc320.tar.bz2
niri-e1fad994da9565b43c7fb139cb2fb7bf404cc320.zip
Implement maximize-to-edges (true Wayland maximize)
Diffstat (limited to 'src/protocols')
-rw-r--r--src/protocols/foreign_toplevel.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/protocols/foreign_toplevel.rs b/src/protocols/foreign_toplevel.rs
index 5ef4735e..ef9d0a50 100644
--- a/src/protocols/foreign_toplevel.rs
+++ b/src/protocols/foreign_toplevel.rs
@@ -37,6 +37,8 @@ pub trait ForeignToplevelHandler {
fn close(&mut self, wl_surface: WlSurface);
fn set_fullscreen(&mut self, wl_surface: WlSurface, wl_output: Option<WlOutput>);
fn unset_fullscreen(&mut self, wl_surface: WlSurface);
+ fn set_maximized(&mut self, wl_surface: WlSurface);
+ fn unset_maximized(&mut self, wl_surface: WlSurface);
}
struct ToplevelData {
@@ -388,8 +390,10 @@ where
let surface = surface.clone();
match request {
- zwlr_foreign_toplevel_handle_v1::Request::SetMaximized => (),
- zwlr_foreign_toplevel_handle_v1::Request::UnsetMaximized => (),
+ zwlr_foreign_toplevel_handle_v1::Request::SetMaximized => state.set_maximized(surface),
+ zwlr_foreign_toplevel_handle_v1::Request::UnsetMaximized => {
+ state.unset_maximized(surface)
+ }
zwlr_foreign_toplevel_handle_v1::Request::SetMinimized => (),
zwlr_foreign_toplevel_handle_v1::Request::UnsetMinimized => (),
zwlr_foreign_toplevel_handle_v1::Request::Activate { .. } => {