Document animation configuration and desktop comparisons

This commit is contained in:
Samuel Onoja committed 2026-10-03 01:01:44 +01:00
1 parent 934380d095
commit 259f7e93b6
2 files changed
+91 -1

No files matched your search

+69 -1
View File
@@ -112,7 +112,34 @@ the focused column. `paged` packs columns into viewport-sized pages: halves form
form triples; mixed widths and client minimum sizes determine actual boundaries.
Changing default width preserves manually resized columns.
## Motion
## Animations
Set animation speed in Settings → Motion or edit the `animations` block in
`~/.config/ferese/config.kdl`. Changes apply live. Start with `speed` if you only
want faster or slower transitions; you do not need to change the springs.
```kdl
animations {
enabled #true
reduced-motion #false
speed 1.0
spring {
mass 1.0
stiffness 700.0
damping 53.0
}
viewport-spring {
mass 1.0
stiffness 320.0
damping-ratio 1.0
}
}
```
This example uses the built-in defaults. The packaged config sets `speed 0.9`.
You can omit either spring block to keep its defaults.
| Section / key | Type | Default | Meaning |
| --- | --- | --- | --- |
@@ -126,6 +153,47 @@ Changing default width preserves manually resized columns.
| `animations.viewport-spring.stiffness` | number > 0 | `320` | Scrolling stiffness |
| `animations.viewport-spring.damping-ratio` | number > 0 | `1` | `1` is critically damped |
### Speed and reduced motion
`speed` changes window motion, scrolling, workspace transitions, overview,
theme transitions and shell popup, notification and hover transitions. `0.5`
gives an animation twice as much time; `2.0` gives it half as much. Overview
uses 60% of this speed when opening or closing, including when selecting a
window. There is no separate overview-speed setting.
Set `reduced-motion #true` or `enabled #false` to make these transitions
immediate. Reduced motion takes precedence over `enabled #true`; setting
`speed 0` is invalid. These settings control Ferese's animations, not animations
inside other applications.
### Spring tuning
`spring` controls window position and size motion, fullscreen/maximize zoom and
overview entrance motion. `viewport-spring` controls the scrolling viewport and
the column-width animation that runs with it. Shell popups and theme fades use
timed transitions, so the spring parameters do not change their curves.
Spring motion has no fixed duration. Its settling time depends on the distance
to the target, current velocity and the spring parameters. The `animations`
block has no settings for per-animation durations, custom curves or animation
shaders.
With the other parameters unchanged, higher stiffness makes motion faster and
higher mass makes it slower. Damping controls how quickly velocity dies away.
The default window spring is slightly overdamped, close to critical damping;
the viewport spring is critically damped.
For `viewport-spring`, `damping-ratio 1.0` is critical damping, values below `1`
are underdamped and values above `1` are overdamped. The window spring uses a
damping coefficient instead: critical damping is
`damping = 2 * sqrt(stiffness * mass)`. Ferese stops spring animations
at their first target crossing, so lowering damping does not make them bounce
past the target.
Mass, stiffness, damping ratio and speed must be finite and greater than zero.
The window spring's damping coefficient may also be zero. Invalid edits leave
the last accepted configuration active.
## Appearance
Settings → Appearance offers six paired themes: **Ferese Blue** (default),