mirror of
https://github.com/niri-wm/niri.git
synced 2026-06-21 02:01:55 +07:00
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user