mirror of
https://github.com/niri-wm/niri.git
synced 2026-06-22 02:01:55 +07:00
Send tiled state when prefer-no-csd is set
This commit is contained in:
@@ -91,6 +91,7 @@ cursor {
|
||||
|
||||
// Uncomment this line to ask the clients to omit their client-side decorations if possible.
|
||||
// If the client will specifically ask for CSD, the request will be honored.
|
||||
// Additionally, clients will be informed that they are tiled, removing some rounded corners.
|
||||
// prefer-no-csd
|
||||
|
||||
// You can customize the widths that "switch-preset-column-width" (Mod+R) toggles between.
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user