Skip to content

Custom Animations

The animation system provides software-rendered effects with full customization, layering, and blending.

anim

Manage custom animation layers that run in the uchroma daemon.

Synopsis

uchroma anim [options]
uchroma anim <command> [args]
uchroma animation <command> [args]
uchroma layer <command> [args]

Options

OptionShortDescription
--list-lList available renderers

Commands

CommandAliasesDescription
listlsList available renderers with parameters
showstatusShow currently active layers
add-Add a new renderer layer
rmdel, removeRemove a layer by index
setmodModify layer properties
pause-Toggle animation pause
stopclearStop and clear all layers

Listing Renderers

Show all available animation renderers and their configurable parameters.

bash
$ uchroma anim list

 Available renderers and arguments:

aurora                         Shimmering northern lights curtains
───────────────────────────────────────────────────────────
author                         uchroma
version                        1.0
───────────────────────────────────────────────────────────
speed                          float [0.2..3.0] default: 1.0
drift                          float [0.1..1.0] default: 0.3
curtain_height                 float [0.3..1.0] default: 0.7
shimmer                        float [0.0..1.0] default: 0.3
color_drift                    float [0.1..2.0] default: 0.5
color_scheme                   colors

...

Adding Layers

Add a renderer as a new animation layer.

Synopsis

uchroma anim add <renderer> [options]

Options

OptionDescription
-z, --zindexLayer index (default: auto-assigned)
Renderer-specific optionsSee renderer parameters

Examples

bash
# Add plasma with default settings
uchroma anim add plasma

# Add aurora with custom speed
uchroma anim add aurora --speed 2.0

# Add at specific layer index
uchroma anim add rainbow -z 0

Viewing Active Layers

Show currently running animation layers.

bash
$ uchroma anim show

 Active Layers (2)

  [0] Plasma
      Colorful moving blobs of plasma
      | preset: Qap | gradient_length: 360

  [1] Aurora
      Shimmering northern lights curtains
      | speed: 2.0 | shimmer: 0.5

Modifying Layers

Change properties of an active layer.

Synopsis

uchroma anim set <layer-index> [options]

Examples

bash
# Change layer 0 speed
uchroma anim set 0 --speed 1.5

# Change layer 1 color scheme
uchroma anim set 1 --color-scheme "#ff0000,#00ff00,#0000ff"

Removing Layers

Remove a layer by its z-index.

bash
# Remove layer at index 0
uchroma anim rm 0

# Remove layer at index 1
uchroma anim remove 1

Pause and Stop

bash
# Toggle pause (freezes animation)
uchroma anim pause

# Stop and clear all layers
uchroma anim stop

Built-in Renderers

Plasma

Classic demoscene plasma effect with flowing colored blobs.

ParameterTypeRangeDefaultDescription
presetchoiceColorScheme presetsQapColor preset
color_schemecolors-preset colorsCustom color scheme
gradient_lengthint0+360Gradient resolution
bash
uchroma anim add plasma --preset Rainbow

Rainbow (Rainflow)

Simple flowing rainbow colors across the keyboard.

ParameterTypeRangeDefaultDescription
speedint0-208Animation speed
staggerint0-1004Row offset for diagonal flow
bash
uchroma anim add rainbow --speed 12 --stagger 8

Aurora

Shimmering northern lights with undulating curtains.

ParameterTypeRangeDefaultDescription
speedfloat0.2-3.01.0Animation speed
driftfloat0.1-1.00.3Horizontal drift amount
curtain_heightfloat0.3-1.00.7Curtain height (0=top, 1=full)
shimmerfloat0.0-1.00.3High-frequency shimmer
color_driftfloat0.1-2.00.5Color shift speed
color_schemecolors-green/teal/purpleCustom colors
bash
uchroma anim add aurora --curtain-height 0.5 --shimmer 0.6

Vortex

Hypnotic swirling spiral tunnel effect.

ParameterTypeRangeDefaultDescription
arm_countint1-63Number of spiral arms
twistfloat0.1-1.00.3Spiral twist amount
flow_speedfloat0.3-3.01.0Radial flow speed
flow_directionint-1, 0, 11Flow direction (in/out)
rotation_speedfloat0.1-2.00.5Rotation speed
center_glowfloat1.0-5.03.0Center brightness boost
ring_densityfloat0.2-1.50.5Ring pattern density
color_schemecolors-pink/purple/blue/tealCustom colors
bash
uchroma anim add vortex --arm-count 5 --twist 0.8

Nebula

Flowing cosmic clouds using procedural noise.

ParameterTypeRangeDefaultDescription
drift_speedfloat0.1-1.00.3Cloud movement speed
scalefloat0.05-0.40.15Cloud size scale
detailint1-32Noise octaves (detail level)
contrastfloat0.3-1.00.6Color contrast
base_brightnessfloat0.3-0.70.5Minimum brightness
color_shiftfloat0.0-1.00.3Color variation amount
color_schemecolors-purple/pink/cyan/greenCustom colors
bash
uchroma anim add nebula --scale 0.25 --detail 3

Ocean

Rolling waves with foam and caustic highlights.

ParameterTypeRangeDefaultDescription
wave_speedfloat0.3-2.51.0Wave animation speed
wave_heightfloat0.2-1.00.5Wave amplitude
foam_thresholdfloat0.2-0.80.5Foam appearance threshold
caustic_intensityfloat0.0-0.60.3Caustic light intensity
saturationfloat0.4-1.00.8Color saturation
color_schemecolors-deep blue to whiteCustom colors
bash
uchroma anim add ocean --wave-height 0.8 --foam-threshold 0.4

Comets

Bright streaks with glowing trails zooming across.

ParameterTypeRangeDefaultDescription
comet_countint1-63Number of comets
speedfloat0.5-4.01.5Movement speed
trail_lengthint3-158Trail length in pixels
trail_decayfloat0.1-0.60.3Trail fade rate
head_brightnessfloat0.7-1.01.0Comet head brightness
color_schemecolors-cyan/magenta/yellow/greenCustom colors
bash
uchroma anim add comets --comet-count 5 --trail-length 12

Embers

Warm glowing particles drifting upward like fireplace embers.

ParameterTypeRangeDefaultDescription
particle_countint3-158Number of particles
drift_speedfloat0.1-1.00.3Upward drift speed
pulse_speedfloat0.5-4.01.5Brightness pulse speed
glow_radiusfloat1.0-4.02.0Particle glow size
colorcolor-#ff6b35Ember color
base_brightnessfloat0.3-0.80.6Base glow level
flare_chancefloat0.0-0.10.02Random flare probability
bash
uchroma anim add embers --particle-count 12 --color "#ff4400"

Copper Bars

Classic Amiga demoscene raster bar effect.

ParameterTypeRangeDefaultDescription
speedfloat0.2-3.01.0Scroll speed
wave_amplitudefloat0.0-2.00.5Wave distortion amount
wave_frequencyfloat0.2-2.00.8Wave frequency
band_widthint10-10040Color band width
horizontal_wavebool-falseAdd horizontal variation
presetchoiceColorScheme presetsRainbowColor preset
color_schemecolors-preset colorsCustom colors
gradient_lengthint60-720360Gradient resolution
bash
uchroma anim add copper_bars --wave-amplitude 1.5 --horizontal-wave

Metaballs

Organic lava-lamp style blobs that merge and split.

ParameterTypeRangeDefaultDescription
blob_countint2-84Number of blobs
speedfloat0.1-2.00.5Movement speed
thresholdfloat0.5-2.01.0Blob boundary threshold
glow_fallofffloat1.0-4.02.0Glow fade rate
base_brightnessfloat0.0-0.40.2Background brightness
blob_radiusfloat1.5-5.03.0Blob size
color_schemecolors-pink/purple/blue/tealCustom colors
bash
uchroma anim add metaballs --blob-count 6 --speed 0.8

Kaleidoscope

Rotating symmetric patterns with n-fold symmetry.

ParameterTypeRangeDefaultDescription
symmetryint3-126Number of symmetry folds
rotation_speedfloat0.1-2.00.5Rotation speed
pattern_modechoicespiral, rings, wavesspiralPattern type
ring_frequencyfloat0.2-1.50.5Ring pattern frequency
spiral_twistfloat0.5-5.02.0Spiral twist amount
hue_rotationfloat0.0-120.030.0Color rotation speed
saturationfloat0.5-1.00.9Color saturation
color_schemecolors-pink/yellow/teal/purpleCustom colors
bash
uchroma anim add kaleidoscope --symmetry 8 --pattern-mode rings

Reactive Renderers

These renderers respond to keyboard input. They require a device with key matrix support.

Ripple

Ripples of color emanate from pressed keys.

ParameterTypeRangeDefaultDescription
ripple_widthint1-53Ripple ring width
speedint1-95Animation speed
presetchoiceColorScheme presets-Color preset
randombool-trueRandom colors
colorcolor--Fixed ripple color
bash
uchroma anim add ripple --speed 7 --ripple-width 4

Reaction

Keys change color when pressed and fade back.

ParameterTypeRangeDefaultDescription
speedint1-96Fade speed
background_colorcolor-blackResting color
colorcolor-whiteActive color
bash
uchroma anim add reaction --color cyan --background-color "#111111"

Typewriter

Warm incandescent glow that fades after keypress.

ParameterTypeRangeDefaultDescription
glow_colorcolor-#ffaa44Glow color
decay_timefloat0.5-5.01.5Fade duration (seconds)
spreadfloat0.0-0.60.3Glow spread to neighbors
base_brightnessfloat0.0-0.30.15Resting brightness
peak_brightnessfloat0.7-1.01.0Maximum brightness
warmthfloat0.0-0.60.3White shift at peak
bash
uchroma anim add typewriter --decay-time 2.0 --spread 0.5

Layer Compositing

When multiple layers are active, they are composited in z-order (lowest index on bottom). Each layer can have opacity and blend mode settings.

Blend modes available:

  • normal - Standard alpha blending
  • screen - Additive-like brightening
  • soft_light - Subtle contrast enhancement
  • dodge - Strong brightening

  • fx - Hardware effects (simpler, persistent)
  • input - Shortcut for reactive effects
  • profile - Save animation layers in profiles

Released under the LGPL-3.0 License.