aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--niri-config/src/animations.rs48
-rw-r--r--niri-config/src/lib.rs4
-rw-r--r--src/animation/mod.rs16
-rw-r--r--src/layout/tests/animations.rs6
-rw-r--r--src/tests/animations.rs7
5 files changed, 40 insertions, 41 deletions
diff --git a/niri-config/src/animations.rs b/niri-config/src/animations.rs
index 9a870834..90ff0bf2 100644
--- a/niri-config/src/animations.rs
+++ b/niri-config/src/animations.rs
@@ -54,11 +54,11 @@ impl Default for Animations {
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct Animation {
pub off: bool,
- pub kind: AnimationKind,
+ pub kind: Kind,
}
#[derive(Debug, Clone, Copy, PartialEq)]
-pub enum AnimationKind {
+pub enum Kind {
Easing(EasingParams),
Spring(SpringParams),
}
@@ -66,11 +66,11 @@ pub enum AnimationKind {
#[derive(Debug, Clone, Copy, PartialEq)]
pub struct EasingParams {
pub duration_ms: u32,
- pub curve: AnimationCurve,
+ pub curve: Curve,
}
#[derive(knuffel::DecodeScalar, Debug, Clone, Copy, PartialEq)]
-pub enum AnimationCurve {
+pub enum Curve {
Linear,
EaseOutQuad,
EaseOutCubic,
@@ -91,7 +91,7 @@ impl Default for WorkspaceSwitchAnim {
fn default() -> Self {
Self(Animation {
off: false,
- kind: AnimationKind::Spring(SpringParams {
+ kind: Kind::Spring(SpringParams {
damping_ratio: 1.,
stiffness: 1000,
epsilon: 0.0001,
@@ -111,9 +111,9 @@ impl Default for WindowOpenAnim {
Self {
anim: Animation {
off: false,
- kind: AnimationKind::Easing(EasingParams {
+ kind: Kind::Easing(EasingParams {
duration_ms: 150,
- curve: AnimationCurve::EaseOutExpo,
+ curve: Curve::EaseOutExpo,
}),
},
custom_shader: None,
@@ -132,9 +132,9 @@ impl Default for WindowCloseAnim {
Self {
anim: Animation {
off: false,
- kind: AnimationKind::Easing(EasingParams {
+ kind: Kind::Easing(EasingParams {
duration_ms: 150,
- curve: AnimationCurve::EaseOutQuad,
+ curve: Curve::EaseOutQuad,
}),
},
custom_shader: None,
@@ -149,7 +149,7 @@ impl Default for HorizontalViewMovementAnim {
fn default() -> Self {
Self(Animation {
off: false,
- kind: AnimationKind::Spring(SpringParams {
+ kind: Kind::Spring(SpringParams {
damping_ratio: 1.,
stiffness: 800,
epsilon: 0.0001,
@@ -165,7 +165,7 @@ impl Default for WindowMovementAnim {
fn default() -> Self {
Self(Animation {
off: false,
- kind: AnimationKind::Spring(SpringParams {
+ kind: Kind::Spring(SpringParams {
damping_ratio: 1.,
stiffness: 800,
epsilon: 0.0001,
@@ -185,7 +185,7 @@ impl Default for WindowResizeAnim {
Self {
anim: Animation {
off: false,
- kind: AnimationKind::Spring(SpringParams {
+ kind: Kind::Spring(SpringParams {
damping_ratio: 1.,
stiffness: 800,
epsilon: 0.0001,
@@ -203,7 +203,7 @@ impl Default for ConfigNotificationOpenCloseAnim {
fn default() -> Self {
Self(Animation {
off: false,
- kind: AnimationKind::Spring(SpringParams {
+ kind: Kind::Spring(SpringParams {
damping_ratio: 0.6,
stiffness: 1000,
epsilon: 0.001,
@@ -219,7 +219,7 @@ impl Default for ExitConfirmationOpenCloseAnim {
fn default() -> Self {
Self(Animation {
off: false,
- kind: AnimationKind::Spring(SpringParams {
+ kind: Kind::Spring(SpringParams {
damping_ratio: 0.6,
stiffness: 500,
epsilon: 0.01,
@@ -235,9 +235,9 @@ impl Default for ScreenshotUiOpenAnim {
fn default() -> Self {
Self(Animation {
off: false,
- kind: AnimationKind::Easing(EasingParams {
+ kind: Kind::Easing(EasingParams {
duration_ms: 200,
- curve: AnimationCurve::EaseOutQuad,
+ curve: Curve::EaseOutQuad,
}),
})
}
@@ -250,7 +250,7 @@ impl Default for OverviewOpenCloseAnim {
fn default() -> Self {
Self(Animation {
off: false,
- kind: AnimationKind::Spring(SpringParams {
+ kind: Kind::Spring(SpringParams {
damping_ratio: 1.,
stiffness: 800,
epsilon: 0.0001,
@@ -446,9 +446,9 @@ impl Animation {
pub fn new_off() -> Self {
Self {
off: true,
- kind: AnimationKind::Easing(EasingParams {
+ kind: Kind::Easing(EasingParams {
duration_ms: 0,
- curve: AnimationCurve::Linear,
+ curve: Curve::Linear,
}),
}
}
@@ -465,7 +465,7 @@ impl Animation {
#[derive(Default, PartialEq)]
struct OptionalEasingParams {
duration_ms: Option<u32>,
- curve: Option<AnimationCurve>,
+ curve: Option<Curve>,
}
expect_only_children(node, ctx);
@@ -556,24 +556,24 @@ impl Animation {
let kind = if let Some(spring_params) = spring_params {
// Configured spring.
- AnimationKind::Spring(spring_params)
+ Kind::Spring(spring_params)
} else if easing_params == OptionalEasingParams::default() {
// Did not configure anything.
default.kind
} else {
// Configured easing.
- let default = if let AnimationKind::Easing(easing) = default.kind {
+ let default = if let Kind::Easing(easing) = default.kind {
easing
} else {
// Generic fallback values for when the default animation is spring, but the user
// configured an easing animation.
EasingParams {
duration_ms: 250,
- curve: AnimationCurve::EaseOutCubic,
+ curve: Curve::EaseOutCubic,
}
};
- AnimationKind::Easing(EasingParams {
+ Kind::Easing(EasingParams {
duration_ms: easing_params.duration_ms.unwrap_or(default.duration_ms),
curve: easing_params.curve.unwrap_or(default.curve),
})
diff --git a/niri-config/src/lib.rs b/niri-config/src/lib.rs
index 636b4c82..21072994 100644
--- a/niri-config/src/lib.rs
+++ b/niri-config/src/lib.rs
@@ -22,9 +22,7 @@ pub mod utils;
pub mod window_rule;
pub mod workspace;
-pub use crate::animations::{
- Animation, AnimationCurve, AnimationKind, Animations, EasingParams, SpringParams,
-};
+pub use crate::animations::{Animation, Animations};
pub use crate::appearance::*;
pub use crate::binds::*;
pub use crate::debug::DebugConfig;
diff --git a/src/animation/mod.rs b/src/animation/mod.rs
index 044ddd46..a8de3275 100644
--- a/src/animation/mod.rs
+++ b/src/animation/mod.rs
@@ -77,7 +77,7 @@ impl Animation {
let start_time = self.start_time;
match config.kind {
- niri_config::AnimationKind::Spring(p) => {
+ niri_config::animations::Kind::Spring(p) => {
let params = SpringParams::new(p.damping_ratio, f64::from(p.stiffness), p.epsilon);
let spring = Spring {
@@ -88,7 +88,7 @@ impl Animation {
};
*self = Self::spring(self.clock.clone(), spring);
}
- niri_config::AnimationKind::Easing(p) => {
+ niri_config::animations::Kind::Easing(p) => {
*self = Self::ease(
self.clock.clone(),
self.from,
@@ -346,13 +346,13 @@ impl Curve {
}
}
-impl From<niri_config::AnimationCurve> for Curve {
- fn from(value: niri_config::AnimationCurve) -> Self {
+impl From<niri_config::animations::Curve> for Curve {
+ fn from(value: niri_config::animations::Curve) -> Self {
match value {
- niri_config::AnimationCurve::Linear => Curve::Linear,
- niri_config::AnimationCurve::EaseOutQuad => Curve::EaseOutQuad,
- niri_config::AnimationCurve::EaseOutCubic => Curve::EaseOutCubic,
- niri_config::AnimationCurve::EaseOutExpo => Curve::EaseOutExpo,
+ niri_config::animations::Curve::Linear => Curve::Linear,
+ niri_config::animations::Curve::EaseOutQuad => Curve::EaseOutQuad,
+ niri_config::animations::Curve::EaseOutCubic => Curve::EaseOutCubic,
+ niri_config::animations::Curve::EaseOutExpo => Curve::EaseOutExpo,
}
}
}
diff --git a/src/layout/tests/animations.rs b/src/layout/tests/animations.rs
index bae2d512..3f39e25a 100644
--- a/src/layout/tests/animations.rs
+++ b/src/layout/tests/animations.rs
@@ -1,7 +1,7 @@
use std::fmt::Write as _;
use insta::assert_snapshot;
-use niri_config::{AnimationCurve, AnimationKind, EasingParams};
+use niri_config::animations::{Curve, EasingParams, Kind};
use super::*;
@@ -23,9 +23,9 @@ fn format_tiles(layout: &Layout<TestWindow>) -> String {
}
fn make_options() -> Options {
- const LINEAR: AnimationKind = AnimationKind::Easing(EasingParams {
+ const LINEAR: Kind = Kind::Easing(EasingParams {
duration_ms: 1000,
- curve: AnimationCurve::Linear,
+ curve: Curve::Linear,
});
let mut options = Options {
diff --git a/src/tests/animations.rs b/src/tests/animations.rs
index d930d254..90d64dc8 100644
--- a/src/tests/animations.rs
+++ b/src/tests/animations.rs
@@ -2,7 +2,8 @@ use std::fmt::Write as _;
use std::time::Duration;
use insta::assert_snapshot;
-use niri_config::{AnimationCurve, AnimationKind, Config, EasingParams, FloatOrInt};
+use niri_config::animations::{Curve, EasingParams, Kind};
+use niri_config::{Config, FloatOrInt};
use niri_ipc::SizeChange;
use smithay::utils::{Point, Size};
use wayland_client::protocol::wl_surface::WlSurface;
@@ -73,9 +74,9 @@ fn set_time(niri: &mut Niri, time: Duration) {
// Sets up a fixture with linear animations, a renderer, and an output.
fn set_up() -> Fixture {
- const LINEAR: AnimationKind = AnimationKind::Easing(EasingParams {
+ const LINEAR: Kind = Kind::Easing(EasingParams {
duration_ms: 1000,
- curve: AnimationCurve::Linear,
+ curve: Curve::Linear,
});
let mut config = Config::default();