Revert "Be more insistent on CSD by default"

This reverts commit 43e2cf14d2.

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.
This commit is contained in:
Ivan Molodetskikh
2024-01-14 09:22:45 +04:00
parent 14552d856c
commit d899bc4712
+7 -16
View File
@@ -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