diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-01-15 16:01:01 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-01-15 16:01:01 +0400 |
| commit | 59763fd0dac71dc24d27d297c8272fd2eff57c43 (patch) | |
| tree | 23523ed177765f2dd702c7e68d6cf091fef97304 /src/handlers | |
| parent | 533659eef8e9a10f449791645adf6c42096b1004 (diff) | |
| download | niri-59763fd0dac71dc24d27d297c8272fd2eff57c43.tar.gz niri-59763fd0dac71dc24d27d297c8272fd2eff57c43.tar.bz2 niri-59763fd0dac71dc24d27d297c8272fd2eff57c43.zip | |
Hide decoration globals when we need CSD
This gets the current SDL2 with libdecor working.
Diffstat (limited to 'src/handlers')
| -rw-r--r-- | src/handlers/xdg_shell.rs | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/src/handlers/xdg_shell.rs b/src/handlers/xdg_shell.rs index 9df4274f..221ca222 100644 --- a/src/handlers/xdg_shell.rs +++ b/src/handlers/xdg_shell.rs @@ -277,13 +277,9 @@ 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 { - Some(zxdg_toplevel_decoration_v1::Mode::ServerSide) - } else { - None - }; + // If we want CSD, we hide this global altogether. toplevel.with_pending_state(|state| { - state.decoration_mode = mode; + state.decoration_mode = Some(zxdg_toplevel_decoration_v1::Mode::ServerSide); }); } @@ -308,13 +304,9 @@ impl XdgDecorationHandler for State { } fn unset_mode(&mut self, toplevel: ToplevelSurface) { - let mode = if self.niri.config.borrow().prefer_no_csd { - Some(zxdg_toplevel_decoration_v1::Mode::ServerSide) - } else { - None - }; + // If we want CSD, we hide this global altogether. toplevel.with_pending_state(|state| { - state.decoration_mode = mode; + state.decoration_mode = Some(zxdg_toplevel_decoration_v1::Mode::ServerSide); }); // A configure is required in response to this event. However, if an initial configure |
