aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/handlers/xdg_shell.rs23
1 files changed, 7 insertions, 16 deletions
diff --git a/src/handlers/xdg_shell.rs b/src/handlers/xdg_shell.rs
index 9097861c..cc3b7429 100644
--- a/src/handlers/xdg_shell.rs
+++ b/src/handlers/xdg_shell.rs
@@ -278,25 +278,16 @@ delegate_xdg_shell!(State);
impl XdgDecorationHandler for State {
fn new_decoration(&mut self, toplevel: ToplevelSurface) {
let mode = if self.niri.config.borrow().prefer_no_csd {
- zxdg_toplevel_decoration_v1::Mode::ServerSide
+ Some(zxdg_toplevel_decoration_v1::Mode::ServerSide)
} else {
- zxdg_toplevel_decoration_v1::Mode::ClientSide
+ None
};
toplevel.with_pending_state(|state| {
- state.decoration_mode = Some(mode);
+ state.decoration_mode = mode;
});
}
- fn request_mode(
- &mut self,
- toplevel: ToplevelSurface,
- mut mode: zxdg_toplevel_decoration_v1::Mode,
- ) {
- // If prefer-no-csd is unset, then insist on CSD.
- if !self.niri.config.borrow().prefer_no_csd {
- mode = zxdg_toplevel_decoration_v1::Mode::ClientSide;
- }
-
+ fn request_mode(&mut self, toplevel: ToplevelSurface, mode: zxdg_toplevel_decoration_v1::Mode) {
toplevel.with_pending_state(|state| {
state.decoration_mode = Some(mode);
});
@@ -310,12 +301,12 @@ impl XdgDecorationHandler for State {
fn unset_mode(&mut self, toplevel: ToplevelSurface) {
let mode = if self.niri.config.borrow().prefer_no_csd {
- zxdg_toplevel_decoration_v1::Mode::ServerSide
+ Some(zxdg_toplevel_decoration_v1::Mode::ServerSide)
} else {
- zxdg_toplevel_decoration_v1::Mode::ClientSide
+ None
};
toplevel.with_pending_state(|state| {
- state.decoration_mode = Some(mode);
+ state.decoration_mode = mode;
});
// A configure is required in response to this event. However, if an initial configure