Open source · Native, written in Rust

Animated characters that live on your desktop

animaEngine draws characters in a transparent overlay above your windows. They walk, bounce, follow each other and play tag — and every click passes straight through to your work.

Version 1.5.1 Linux · Windows (experimental) MIT licence No network connections

On the desktop. They walk and float over the desktop while clicks go through to your work. A dusk-coloured desktop: a heart, a ghost and a star float in the sky while a bunny, a slime, a frog and a cat walk along the hills at the bottom.

A recording of animaEngine on the project’s test rig: the built-in characters walking and floating.

What it does

A small world on top of your work

Bring your own pictures or use the ten built-in characters. Give them as much life as you like, and they stay out of your way.

Any picture comes alive

Drop a PNG, GIF, WebP or a short MP4 on the screen, or paste a picture: it becomes a character.

  • PNG, animated PNG, GIF, WebP, JPEG and H.264 MP4, with per-frame delays kept
  • Sprite sheets sliced by grid, and folders of numbered PNG frames
  • Ten built-in characters that walk, fall, dangle when picked up and fall asleep
  • Six easing curves that reshape a loop’s timing without changing its length

A life of their own

Walking, wandering, bouncing, following the cursor or each other, playing tag — or a small script you write.

  • Tap one, even outside edit mode: it hops, says a line and plays its sound
  • Characters greet each other, bump into each other and land on each other’s heads
  • Behaviours in sandboxed Rhai scripts: no files, no network, capped operations
  • Hours of their own, livelier in the morning and slower at night

Out of your way

Clicks pass through. They step aside for full-screen games and films, and hold still while you are away.

  • Click-through by default: only the ⚙ button catches input, and it can be hidden
  • Over your windows, or — one switch — on the desktop beneath them
  • Hide or pause while a game, a video or a presentation fills the screen
  • Pause on battery, or after you have been away for a while

Around your day

Reminders to take a break or drink water, a focus timer, bedtime, and a welcome back when you return.

  • Reminders at intervals or at a set time, said in a speech bubble
  • Optional desktop notifications with a sound
  • Snooze for 15 minutes, an hour or until morning
  • They doze while you are away and greet you when you come back
  • Scenes to share

    Save what is on screen under a name, switch by the time of day, and share a scene or a character as one file.

  • For everyone

    Ten languages, screen readers over AT-SPI, every action from the keyboard, and high-contrast themes.

  • Private by design

    The app makes no network connection at all. Nothing about you or your desktop leaves your computer.

Every feature in detail

Showcase

See it move

Short, silent recordings of the real app. Pick one to watch.

On the desktop. They walk and float over the desktop while clicks go through to your work. A dusk-coloured desktop: a heart, a ghost and a star float in the sky while a bunny, a slime, a frog and a cat walk along the hills at the bottom.
Tap a character. Tap the cat or the heart, even outside edit mode, and each one answers. On the desktop, the cat is tapped and hops with a speech bubble; then the heart is tapped and answers with a little heart.
Pick one up. In edit mode, pick up the cat, hold it, and let it fall. Edit mode is open with the Inspector panel on the right. The cat is selected, lifted with the pointer, dangles while held and falls back to the ground when let go.
Away and back. A minute away and they doze off; come back and they wake. While the computer is idle the characters close their eyes and doze with “Zzz…” bubbles, then wake up again.

Screenshots and all ten characters

Compatibility

Where it runs

Linux first. Each status below is what the project itself reports for release 1.5.1.

  • Linux · X11

    Any desktop on an X server

    Stable

    The default backend. Every feature works here, including following the cursor outside edit mode.

  • Linux · GNOME and KDE on Wayland

    Runs through XWayland, automatically

    Stable

    These desktops do not offer layer-shell, so the overlay uses XWayland with no flag needed. Full-screen detection and window-edge landing see XWayland apps only, and “pause when away” is unavailable under KDE on Wayland.

  • Linux · native Wayland

    sway, Hyprland, river, Wayfire (wlroots)

    Opt-in

    Start with ANIMA_USE_WAYLAND_NATIVE=1 for a true layer-shell overlay. Feature parity with X11, except that following the cursor works in edit mode only. Global shortcuts are bound in the compositor.

  • Windows · x86_64

    Installer or portable ZIP, new in 1.5

    Experimental

    Built and tested under Wine so far, not yet on a real Windows machine. The files are not signed yet, so SmartScreen asks before running them. Reports are very welcome.

  • macOS

    No build

    Not supported

    Not supported, and not scheduled: the engine relies on Linux desktop interfaces and the maintainer has no Mac to test on. A port is welcome as a community contribution.

Linux packages

  • .deb (amd64) Stable Published with every release, for Debian, Ubuntu and derivatives.
  • AppImage (x86_64) Stable Published with every release, one file for most distributions.
  • Flatpak Build it yourself The manifest is in the repository and builds locally with make flatpak; it is not on Flathub yet.
  • AUR Build it yourself A PKGBUILD is in the repository; the AUR package has not been published yet.
  • From source Stable cargo build --release with Rust 1.88 or newer and two system libraries.

X11, Wayland and the known limitations

Under the hood

Native, light, and quiet when idle

A desktop companion runs from login to shutdown, so animaEngine is built to cost next to nothing while nothing moves.

  1. Your files PNG, APNG, GIF, WebP, JPEG, sprite sheets, MP4 (H.264)
  2. Bounded loaders Size, byte and frame caps; decoded frames cached on disk
  3. Scene Characters, behaviours, scripts, physics, schedules
  4. wgpu renderer Sprite quads with premultiplied alpha, one texture cache per character
  5. Overlay window Transparent, always on top (or beneath), click-through

Based on the project’s architecture notes.

  • Draws only when something changes

    The scene knows when the next frame is due. With nothing moving, hidden, snoozed or asleep, the overlay wakes a few times a second at most.

  • Thirty frames a second, if you like

    While characters move the overlay draws at display refresh, or at 30 fps — always or only on battery — at the same apparent speed.

  • Hybrid graphics aware

    On a Linux laptop with an NVIDIA GPU beside an integrated one, it draws on the integrated GPU and leaves the NVIDIA one asleep, unless you choose otherwise.

  • No browser engine

    No Electron, no Chromium, no web view: a native program with GPU rendering and small memory needs.

Built with

Rust
The whole engine, one native binary
wgpu
GPU rendering: Vulkan or OpenGL on Linux; DX12, Vulkan or GL on Windows
winit
Windows and input on X11 and Windows
smithay-client-toolkit
The opt-in native Wayland backend (layer-shell)
egui
The settings panel, with AccessKit for screen readers
Rhai
Sandboxed behaviour scripts

Download

Get animaEngine

Version 1.5.1, released . Free and open source.

Linux

Stable

x86_64 packages. Flatpak and AUR recipes are in the repository, not yet published.

Windows

Experimental

New in 1.5, tested under Wine so far; not signed yet, so SmartScreen asks first.

macOS

Not supported

Not supported, and not scheduled: the engine relies on Linux desktop interfaces and the maintainer has no Mac to test on. A port is welcome as a community contribution.

Interested in a port? Contributions are welcome.