aboutsummaryrefslogtreecommitdiff
path: root/src/handlers
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2025-02-15 13:11:34 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2025-02-15 13:28:57 +0300
commitca1500ae90f33344fe776898ae11137bf7d1ecc1 (patch)
tree75bd257aae6da74f14e6b5f4097c5e7778414f49 /src/handlers
parentd7f3ca00c70b264032025c262b3c0b10e67c04be (diff)
downloadniri-ca1500ae90f33344fe776898ae11137bf7d1ecc1.tar.gz
niri-ca1500ae90f33344fe776898ae11137bf7d1ecc1.tar.bz2
niri-ca1500ae90f33344fe776898ae11137bf7d1ecc1.zip
Implement scrolling the view during DnD
DnD is external to the layout, so we just inform it when one is ongoing.
Diffstat (limited to 'src/handlers')
-rw-r--r--src/handlers/mod.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/handlers/mod.rs b/src/handlers/mod.rs
index 334ab762..587d44ea 100644
--- a/src/handlers/mod.rs
+++ b/src/handlers/mod.rs
@@ -344,6 +344,9 @@ impl ClientDndGrabHandler for State {
fn dropped(&mut self, target: Option<WlSurface>, validated: bool, _seat: Seat<Self>) {
trace!("client dropped, target: {target:?}, validated: {validated}");
+ // End DnD before activating a specific window below so that it takes precedence.
+ self.niri.layout.dnd_end();
+
// Activate the target output, since that's how Firefox drag-tab-into-new-window works for
// example. On successful drop, additionally activate the target window.
let mut activate_output = true;