aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-01-14 09:22:45 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-01-14 09:23:15 +0400
commitd899bc4712a0542435c950a0644aa42f0bb34557 (patch)
treed16bde9f5bdb21a8d41395987f1f02a13e8e07b3 /src
parent14552d856c52006e821711b9d6d6cfda4651d222 (diff)
downloadniri-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.
Diffstat (limited to 'src')
-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