atagen

monolith

public
Star0
Watch0

Commit b96f1a324a88

tarball

atagen <boss@atagen.co>2026-10-19 10:44 UTC

1 file changed+7-2
input: keep pointer warps from counting as activity

Background maps and constraint hint warps went through pointer_motion with Motion::Warp and called activity(), which woke blanked outputs and reset idle-notify timers without anyone touching a device.
Modified file: crates/monolith/src/input.rs+7 additions−2 deletions
@@ -30,6 +30,7 @@ pub enum Motion {
3030
3131 impl State {
3232 pub fn pointer_motion(&mut self, wanted: Point<f64, Logical>, motion: Motion, time: InputTime) {
33+ let user = !matches!(motion, Motion::Warp);
3334 let (delta, unaccel) = match motion {
3435 Motion::Relative { delta, unaccel } => {
3536 self.input.absolute = None;
@@ -44,7 +45,9 @@ impl State {
4445 };
4546 let constraint = self.pointer_constraint();
4647 if let Some(Constraint::Locked) = constraint {
47- self.activity();
48+ if user {
49+ self.activity();
50+ }
4851 let under = self.surface_under(self.input.pointer_pos);
4952 self.relative_motion(under, delta, unaccel, time);
5053 return;
@@ -57,7 +60,9 @@ impl State {
5760 };
5861 self.input.pointer_pos = pos;
5962 self.follow_pointer_scale();
60- self.activity();
63+ if user {
64+ self.activity();
65+ }
6166 if drag_to(self, pos) {
6267 return;
6368 }