aboutsummaryrefslogtreecommitdiff
path: root/src/layout
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-05-14 23:27:26 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-05-14 23:39:19 +0400
commit5999ba6a5edaa705c19295793d875a2a66fae2d3 (patch)
tree47861f8210ca6ebe6ef25f81794459b2bcdb6197 /src/layout
parent94a9b48a0f7e474cb9c5422447a49f647d62e9bb (diff)
downloadniri-5999ba6a5edaa705c19295793d875a2a66fae2d3.tar.gz
niri-5999ba6a5edaa705c19295793d875a2a66fae2d3.tar.bz2
niri-5999ba6a5edaa705c19295793d875a2a66fae2d3.zip
Avoid changing the view offset if size didn't change
Diffstat (limited to 'src/layout')
-rw-r--r--src/layout/workspace.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/layout/workspace.rs b/src/layout/workspace.rs
index eed9635a..4a6ad91c 100644
--- a/src/layout/workspace.rs
+++ b/src/layout/workspace.rs
@@ -1256,6 +1256,10 @@ impl<W: LayoutElement> Workspace<W> {
}
if col_idx == self.active_column_idx {
+ // If offset == 0, then don't mess with the view or the gesture. Some clients (Firefox,
+ // Chromium, Electron) currently don't commit after the ack of a configure that drops
+ // the Resizing state, which can trigger this code path for a while.
+ let resize = if offset != 0 { resize } else { None };
if let Some(resize) = resize {
// If this is an interactive resize commit of an active window, then we need to
// either preserve the view offset or adjust it accordingly.