diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-01-14 09:22:45 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-01-14 09:23:15 +0400 |
| commit | d899bc4712a0542435c950a0644aa42f0bb34557 (patch) | |
| tree | d16bde9f5bdb21a8d41395987f1f02a13e8e07b3 | |
| parent | 14552d856c52006e821711b9d6d6cfda4651d222 (diff) | |
| download | niri-d899bc4712a0542435c950a0644aa42f0bb34557.tar.gz niri-d899bc4712a0542435c950a0644aa42f0bb34557.tar.bz2 niri-d899bc4712a0542435c950a0644aa42f0bb34557.zip | |
Revert "Be more insistent on CSD by default"
This reverts commit 43e2cf14d2994299298b05fc194110e875aeecf4.
SDL2 until very recently (unreleased version) has had a bug where
changing the decoration mode to client-side during its initial window
creation would keep the window permanently hidden. Breaking all SDL2
apps for years to come is unfortunately not a good solution.
| -rw-r--r-- | src/handlers/xdg_shell.rs | 23 |
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 |
