animations
Enter/exit and change animations for transient surfaces.
General
| Field | Type | Default | Description |
|---|---|---|---|
enabled | bool | true | Enable enter/exit animations (OSD, toasts, notifications) and icon-change crossfades. When disabled, surfaces appear instantly. |
reduced-motion | bool | false | Replace motion with fades in the shell and, through the portal's reduced-motion setting, in apps: surfaces fade instead of sliding, swinging or bouncing, and looping indicators stop. Under lys-wm this key has no effect and says so: lys-wm's animations.reduced_motion owns the setting for the whole desktop. |
duration | u32 | 200 | Animation duration in milliseconds. |
transition | AnimationType | "fade" | Transition style used for enter/exit of the OSD, toasts, and notification cards. Base fallback for every surface and direction. |
enter | AnimationType or null | null | Global enter transition. Unset → transition. |
exit | AnimationType or null | null | Global exit transition. Unset → transition. |
enter-duration | u32 or null | null | Global enter duration in ms. Unset → duration. |
exit-duration | u32 or null | null | Global exit duration in ms. Unset → duration. |
interaction-duration | u32 | 150 | Duration in ms for in-place dropdown transitions: hover highlights and the page/stack crossfades inside dropdowns. enabled: false removes them entirely. |
ui-duration | u32 | 250 | Base duration in ms for general UI micro-transitions (hover, focus, and color fades) driven by the CSS --duration-* token family. Fast, normal, and slow speeds are derived from this. enabled: false zeroes them for an instant UI. |
indicators | bool | true | Run looping status indicators: spinners, network/bluetooth scan animations, the recording pulse, and the clock blink. Disable (or set enabled: false) for a fully static UI. |
notifications | SurfaceAnimation | {...} | Per-surface override for notification popup cards. |
osd | SurfaceAnimation | {...} | Per-surface override for the OSD (volume/brightness/toggle/toast). |
dropdown | SurfaceAnimation | {...} | Per-surface override for bar widget dropdown foldouts. |
share-picker | SurfaceAnimation | {...} | Per-surface override for the screen-share picker overlay. |
wallpaper | SurfaceAnimation | {...} | Per-surface override for the wallpaper crossfade between images. |
power | SurfaceAnimation | {...} | Per-surface override for the power menu overlay. |
dialog | SurfaceAnimation | {...} | Per-surface override for portal dialogs (access/account/app-chooser/ launcher-install prompts). |
file-chooser | SurfaceAnimation | {...} | Per-surface override for the portal file-chooser surface. |
print | SurfaceAnimation | {...} | Per-surface override for the portal print surface. |
lock | SurfaceAnimation | {...} | Per-surface override for the lock screen reveal. |
launcher | SurfaceAnimation | {...} | Per-surface override for the application launcher. |
Default configuration
yaml
animations:
enabled: true
reduced-motion: false
duration: 200
transition: fade
interaction-duration: 150
ui-duration: 250
indicators: true