Avoid unnecessary configures for xdg-decoration

They actually break some clients like Tracy for some unknown to me
reason.
This commit is contained in:
Ivan Molodetskikh
2023-09-29 13:54:47 +04:00
parent c7057ca0d8
commit b54acf503f
+10 -3
View File
@@ -178,14 +178,17 @@ impl XdgDecorationHandler for State {
toplevel.with_pending_state(|state| {
state.decoration_mode = mode;
});
toplevel.send_configure();
}
fn request_mode(&mut self, toplevel: ToplevelSurface, mode: zxdg_toplevel_decoration_v1::Mode) {
toplevel.with_pending_state(|state| {
state.decoration_mode = Some(mode);
});
toplevel.send_configure();
// Only send configure if it's non-initial.
if initial_configure_sent(&toplevel) {
toplevel.send_pending_configure();
}
}
fn unset_mode(&mut self, toplevel: ToplevelSurface) {
@@ -197,7 +200,11 @@ impl XdgDecorationHandler for State {
toplevel.with_pending_state(|state| {
state.decoration_mode = mode;
});
toplevel.send_configure();
// Only send configure if it's non-initial.
if initial_configure_sent(&toplevel) {
toplevel.send_pending_configure();
}
}
}
delegate_xdg_decoration!(State);