feat: add window animations
This commit is contained in:
parent
eece44a59c
commit
2a079ed800
29 changed files with 6957 additions and 114 deletions
|
|
@ -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: |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue