From 58f6b3032519ce22635aba0d2d55f00c57c6e0f5 Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Mon, 16 Oct 2023 14:58:03 +0400 Subject: Send tiled state when prefer-no-csd is set --- src/handlers/xdg_shell.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src') diff --git a/src/handlers/xdg_shell.rs b/src/handlers/xdg_shell.rs index c5af09a9..d0532a3b 100644 --- a/src/handlers/xdg_shell.rs +++ b/src/handlers/xdg_shell.rs @@ -31,6 +31,18 @@ impl XdgShellHandler for State { ws.configure_new_window(&window); } + // If the user prefers no CSD, it's a reasonable assumption that they would prefer to get + // rid of the various client-side rounded corners also by using the tiled state. + let config = self.niri.config.borrow(); + if config.prefer_no_csd { + window.toplevel().with_pending_state(|state| { + state.states.set(xdg_toplevel::State::TiledLeft); + state.states.set(xdg_toplevel::State::TiledRight); + state.states.set(xdg_toplevel::State::TiledTop); + state.states.set(xdg_toplevel::State::TiledBottom); + }); + } + // At the moment of creation, xdg toplevels must have no buffer. let existing = self.niri.unmapped_windows.insert(wl_surface, window); assert!(existing.is_none()); -- cgit