1
0
Fork 0
forked from wry/wry

feat: add window animations

This commit is contained in:
atagen 2026-05-21 15:20:46 +10:00 committed by kossLAN
parent eece44a59c
commit 2a079ed800
No known key found for this signature in database
29 changed files with 6957 additions and 114 deletions

View file

@ -2942,6 +2942,23 @@ Config:
```toml
ui-drag = { enabled = false, threshold = 20 }
```
animations:
ref: Animations
required: false
description: |
Configures window animations.
Animations are disabled by default.
- Example:
```toml
[animations]
enabled = true
duration-ms = 160
style = "multiphase"
curve = "ease-out"
```
xwayland:
ref: Xwayland
required: false
@ -3655,6 +3672,97 @@ UiDrag:
The default is `10`.
Animations:
kind: table
description: |
Describes window animation settings.
- Example:
```toml
[animations]
enabled = true
duration-ms = 160
style = "multiphase"
curve = [0.25, 0.1, 0.25, 1.0]
```
fields:
enabled:
kind: boolean
required: false
description: |
Enables or disables window animations.
The default is `false`.
duration-ms:
kind: number
integer_only: true
required: false
description: |
Sets the animation duration in milliseconds.
The default is `160`.
style:
ref: AnimationStyle
required: false
description: |
Sets the animation style used for tiled window movement animations.
The default is `multiphase`.
curve:
ref: AnimationCurve
required: false
description: |
Sets the animation curve.
The default is `ease-out`.
AnimationStyle:
kind: string
description: |
Describes a tiled window movement animation style.
values:
- value: plain
description: |
Uses a single interpolated movement from each window's current visual
rectangle to its destination rectangle.
- value: multiphase
description: |
Uses the no-overlap multiphase planner for tiled window movement when a
supported plan exists.
AnimationCurve:
kind: variable
description: |
Describes a window animation curve.
variants:
- kind: string
description: |
One of the supported curve presets.
values:
- value: linear
description: No easing.
- value: ease
description: The CSS `ease` curve.
- value: ease-in
description: The CSS `ease-in` curve.
- value: ease-out
description: The CSS `ease-out` curve.
- value: ease-in-out
description: The CSS `ease-in-out` curve.
- kind: array
items:
kind: number
description: |
A custom CSS-style cubic-bezier curve as four numbers:
`x1`, `y1`, `x2`, and `y2`.
The implicit endpoints are `(0, 0)` and `(1, 1)`. `x1` and `x2` must
be between `0` and `1`.
Xwayland:
kind: table
description: |