diff options
| -rw-r--r-- | niri-config/src/lib.rs | 12 | ||||
| -rw-r--r-- | src/input/mod.rs | 7 |
2 files changed, 10 insertions, 9 deletions
diff --git a/niri-config/src/lib.rs b/niri-config/src/lib.rs index 76f892cb..ceeb36b8 100644 --- a/niri-config/src/lib.rs +++ b/niri-config/src/lib.rs @@ -188,8 +188,8 @@ pub struct Touchpad { pub disabled_on_external_mouse: bool, #[knuffel(child)] pub middle_emulation: bool, - #[knuffel(child, unwrap(argument), default = FloatOrInt(1.0))] - pub scroll_factor: FloatOrInt<0, 100>, + #[knuffel(child, unwrap(argument))] + pub scroll_factor: Option<FloatOrInt<0, 100>>, } #[derive(knuffel::Decode, Debug, Default, PartialEq)] @@ -210,8 +210,8 @@ pub struct Mouse { pub left_handed: bool, #[knuffel(child)] pub middle_emulation: bool, - #[knuffel(child, unwrap(argument), default = FloatOrInt(1.0))] - pub scroll_factor: FloatOrInt<0, 100>, + #[knuffel(child, unwrap(argument))] + pub scroll_factor: Option<FloatOrInt<0, 100>>, } #[derive(knuffel::Decode, Debug, Default, PartialEq)] @@ -3183,7 +3183,7 @@ mod tests { left_handed: false, disabled_on_external_mouse: true, middle_emulation: false, - scroll_factor: FloatOrInt(0.9), + scroll_factor: Some(FloatOrInt(0.9)), }, mouse: Mouse { off: false, @@ -3194,7 +3194,7 @@ mod tests { scroll_button: Some(273), left_handed: false, middle_emulation: true, - scroll_factor: FloatOrInt(0.2), + scroll_factor: Some(FloatOrInt(0.2)), }, trackpoint: Trackpoint { off: true, diff --git a/src/input/mod.rs b/src/input/mod.rs index 9c668318..3cbb3983 100644 --- a/src/input/mod.rs +++ b/src/input/mod.rs @@ -1882,10 +1882,11 @@ impl State { } let scroll_factor = match source { - AxisSource::Wheel => self.niri.config.borrow().input.mouse.scroll_factor.0, - AxisSource::Finger => self.niri.config.borrow().input.touchpad.scroll_factor.0, - _ => 1.0, + AxisSource::Wheel => self.niri.config.borrow().input.mouse.scroll_factor, + AxisSource::Finger => self.niri.config.borrow().input.touchpad.scroll_factor, + _ => None, }; + let scroll_factor = scroll_factor.map(|x| x.0).unwrap_or(1.); let horizontal_amount = horizontal_amount.unwrap_or_else(|| { // Winit backend, discrete scrolling. |
