aboutsummaryrefslogtreecommitdiff
path: root/src/handlers
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-01-15 16:01:01 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-01-15 16:01:01 +0400
commit59763fd0dac71dc24d27d297c8272fd2eff57c43 (patch)
tree23523ed177765f2dd702c7e68d6cf091fef97304 /src/handlers
parent533659eef8e9a10f449791645adf6c42096b1004 (diff)
downloadniri-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.rs16
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