Fix review findings across compositor and shell

This commit is contained in:
Samuel Onoja committed 2026-10-13 04:02:17 +01:00
1 parent 5d9673aad3
commit f7e5efb245
30 files changed
+1222 -181

No files matched your search

+19 -9
View File
@@ -48,7 +48,12 @@ impl Config {
}
pub fn animation_speed(&self) -> Result<f64, ConfigError> {
positive_animation_value(self.animations.speed, "speed")
self.animations
.validate_speed()
.map_err(|_| ConfigError::AnimationValue {
field: "speed",
value: self.animations.speed,
})
}
pub fn spring_config(&self) -> Result<SpringConfig, ConfigError> {
@@ -60,14 +65,6 @@ impl Config {
}
}
pub(super) fn positive_animation_value(value: f64, field: &'static str) -> Result<f64, ConfigError> {
if value.is_finite() && value > 0.0 {
Ok(value)
} else {
Err(ConfigError::AnimationValue { field, value })
}
}
pub(super) fn default_xkb_layout() -> String {
"us".to_owned()
}
@@ -151,3 +148,16 @@ impl Default for TouchpadConfig {
}
pub(super) type AnimationsConfig = ferese_animation::MotionSettings;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn compositor_speed_uses_shared_motion_bounds() {
for speed in [1e-100, 0.009, 101.0, 1e100] {
let config = Config::parse_source(&format!("animations {{ speed {speed:e}; }}")).unwrap();
assert!(config.animation_speed().is_err());
}
}
}