aboutsummaryrefslogtreecommitdiff
path: root/src/layout/mod.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-07-05 20:12:56 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2024-07-05 20:53:11 +0400
commit1da99f4003c100180b4821afc4e32e35c86dfdb4 (patch)
tree70f465e9e585e5547f79ad6ac94a0828de588ad9 /src/layout/mod.rs
parent120eaa6c56491e284a6a1a8bfb49ef477b8c0854 (diff)
downloadniri-1da99f4003c100180b4821afc4e32e35c86dfdb4.tar.gz
niri-1da99f4003c100180b4821afc4e32e35c86dfdb4.tar.bz2
niri-1da99f4003c100180b4821afc4e32e35c86dfdb4.zip
Implement focus-follows-mouse max-scroll-amount
Diffstat (limited to 'src/layout/mod.rs')
-rw-r--r--src/layout/mod.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/layout/mod.rs b/src/layout/mod.rs
index ab7d7ec6..fadde1fb 100644
--- a/src/layout/mod.rs
+++ b/src/layout/mod.rs
@@ -947,6 +947,22 @@ impl<W: LayoutElement> Layout<W> {
}
}
+ pub fn scroll_amount_to_activate(&self, window: &W::Id) -> f64 {
+ let MonitorSet::Normal { monitors, .. } = &self.monitor_set else {
+ return 0.;
+ };
+
+ for mon in monitors {
+ for ws in &mon.workspaces {
+ if ws.has_window(window) {
+ return ws.scroll_amount_to_activate(window);
+ }
+ }
+ }
+
+ 0.
+ }
+
pub fn activate_window(&mut self, window: &W::Id) {
let MonitorSet::Normal {
monitors,