Features
Everything it does, in one place
Every item on this page is in animaEngine 1.5.1 today. Most of the livelier parts are off until you turn them on.
Characters and animation
Anything you can draw or record can live on your desktop.
- Drop, paste or pick a file
- Drag a picture or a short video onto the overlay, paste one copied in any app with Ctrl+V, or choose it with Add file… through the desktop’s file chooser.
- The formats you already have
- Static PNG and JPEG, animated GIF and WebP with their frame delays, animated PNG, folders of numbered PNG frames, grid-sliced sprite sheets, and H.264 video up to about twenty seconds.
- Ten built-in characters
- A ghost, a slime, a heart, a star, a cat, a bunny, a frog, a robot, a cloud and a mushroom, each with its own drawings for walking, falling, being picked up and sleeping.
- Animation curves
- Linear, ease in, ease out, ease in-out, sine and bounce-out reshape per-frame timing while keeping the loop’s total duration.
- Asset library
- A searchable grid of everything in your asset folder; adding from it goes through the same validation as a drop.
Behaviour
Characters can stand still, or do a lot more — as much as you want.
- Built-in behaviours
- Idle, walk around, wander inside bounds, bounce, follow the cursor, follow another character, or play tag with one.
- Taps and greetings
- With “Characters can be tapped” on, a click on a character makes it hop and speak while clicks elsewhere still reach your windows. Two characters who meet say hello.
- Physics
- Optional gravity: throw a character by letting go mid-swing; characters can bump into each other and land on each other’s heads.
- Scripted behaviours
- A character’s motion can be a small Rhai script from your library — sandboxed, with no file or network access and capped operations. Scripts can play sounds panned to the character’s position and react to overall machine load.
- Moods and hours
- Characters fade in and out, keep hours of their own, and can be livelier in the morning and slower at night.
Editing
Edit mode turns the overlay into a workspace; outside it, clicks go straight through.
- A tabbed settings panel
- Inspector, Scene, Library, Appearance and Keybindings, with sliders for every field and collapsible sections.
- Several at once
- Shift+click or drag a rectangle to select several characters, then move, change, duplicate, align or space them evenly. Drags snap to screen edges and to other characters.
- Groups
- Ctrl+G binds the selection into a named group that is selected and moved as one.
- Undo and redo
- Every edit — a move, a delete, a changed property, a preset’s Replace — can be undone with Ctrl+Z.
- Command palette
- Ctrl+K searches every action, theme and preset, and runs it in one keystroke.
Scenes and sharing
Arrangements you like can be kept, scheduled and passed on.
- Named scenes
- Save what is on screen under a name, with a picture, and switch from the Scene tab, the command palette, the tray, or at set times of day.
- One file to share
- A scene travels as a single
.animascenefile with its pictures; one character as.animacharor as a GIF; a.animabackupcarries everything to another machine. - Presets
- Ready-made scenes such as Cozy Companion, Productivity Zen and Halloween Party, appended or replacing what is there.
Around your day
Optional, and off until you turn it on.
- Speech bubbles and reminders
- Lines of their own, reminders of a break or a glass of water at intervals or at a set time;
{time},{day},{date}and{name}are filled in, and screen readers hear what is said. - Focus timer and bedtime
- A focus timer from the tray, the palette or the Scene tab, a bedtime, and snoozing for 15 minutes, an hour or until morning.
- Away and back
- While you are away the characters doze; when you return they welcome you back.
- Sounds at your volume
- One volume for everything, one for each character, quiet at bedtime, and mute from the tray, a shortcut or D-Bus.
Desktop integration
It behaves like a well-mannered part of your desktop.
- Stays out of the way
- Hides or pauses while a full-screen app or one you choose is in front, and can hold still on battery.
- Multi-monitor
- Characters per monitor, spanning all of them or on one; drag them across screens and pin one to a monitor.
- Tray, shortcuts and D-Bus
- A tray icon, rebindable global shortcuts (through the desktop’s portal on GNOME and KDE), a single instance, and start at login.
- Shortcuts on any layout
- Shortcuts work on AZERTY, QWERTZ, Cyrillic and other layouts and are shown the way your keyboard labels them.
- Hot reload
- Edit
~/.config/animaengine/config.tomlwhile the app runs; it picks the change up within two seconds.
Accessibility and languages
Built to be used by everyone, with or without a mouse.
- Screen readers
- Orca and other AT-SPI screen readers can read and operate the settings on both Linux backends.
- Without a mouse
- Shift+F10 or the Menu key opens a character’s menu, Ctrl+A selects every character, N steps through them, and Tab moves through the panel.
- Themes
- Dark and Light, plus high-contrast versions of both that meet WCAG AAA, switchable without a restart.
- Ten languages
- English, Română, Español, Deutsch, Français, Italiano, Português (BR), Polski, Nederlands and 日本語, detected from LANG and switchable in Appearance.
Privacy and safety
A program that runs from login to shutdown should be trustworthy.
- Zero network calls
- No telemetry, no crash reporting, no update checks, no accounts. The diagnostic report goes only to your clipboard.
- Bounded loaders
- Files are refused above 4096 pixels a side or 256 MB once decoded, and video is kept to its first 600 frames, so a malicious file cannot exhaust memory.
- Atomic writes
- Config and cache are written atomically, so a crash cannot corrupt either; after one,
anima-engine --recoverrestores the last scene. - Stable formats
- Configs written by any 1.x release keep every value, and the stability policy lists what stays put across releases.
Supported files
What you can drop on the overlay. Larger or other files are refused with a message that says why.
| Type | Extensions | Notes |
|---|---|---|
| Static image | .png, .jpg, .jpeg | Single frame |
| Animated PNG | .png | Plays every frame for as long as it asks (since 1.5.1) |
| Animated GIF | .gif | Per-frame delays preserved |
| WebP | .webp | Animated and static |
| PNG sequence | folder of frame_*.png | Decoded in parallel |
| Sprite sheet | .png with columns × rows | Grid sliced automatically |
| Video | .mp4, .m4v, .mov | H.264 only, audio ignored, about 20 seconds at most |