diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-07-05 20:12:56 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-07-05 20:53:11 +0400 |
| commit | 1da99f4003c100180b4821afc4e32e35c86dfdb4 (patch) | |
| tree | 70f465e9e585e5547f79ad6ac94a0828de588ad9 /src/layout/mod.rs | |
| parent | 120eaa6c56491e284a6a1a8bfb49ef477b8c0854 (diff) | |
| download | niri-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.rs | 16 |
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, |
