Skip to content

nicdgonzalez/ani2xcur

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ani2xcur

Note

This project recieved a full rewrite and was renamed from ani-to-xcursor to ani2xcur on March 10, 2026.

A command-line tool for installing Windows animated cursor schemes on Unix-like operating systems running the X Window System.

Overview

Windows animated cursors use the ANI file format, a container format that stores multiple animation frames along with metadata such as frame timing and frame order.

Related cursors are grouped into cursor schemes. A cursor scheme is typically distributed together with an Install.inf file, which contains the metadata required to register and install the scheme.

ani2xcur utilizes this information to accurately convert each animated cursor into the Xcursor format and installs the resulting files in the locations expected by the X Window System.

While many larger projects now parse INF files to perform bulk cursor conversions, this project was the first to introduce that approach.

Originally created to fill that gap, it now focuses on providing an ergonomic solution: a single command-line interface with intentionally designed subcommands, optimized for speed and correctness.

Installation

Requirement Version Description
cargo 1.94.0 Build and install the command-line interface
xcursorgen 1.0.8 Xcursor generation backend

Install from GitHub using cargo:

cargo install --git https://github.com/nicdgonzalez/ani2xcur

Or, download a pre-built binary from the Releases page on GitHub.

Quickstart

Tip

Need a cursor to start with? Try NOiiRE's Hornet Cursor from Hollow Knight: Silksong.

From the directory containing the Install.inf file, run:

ani2xcur install --default-init

Usage

From the directory containing the Install.inf file, run:

Tip

If your INF file has a different name, use the --inf flag instead of renaming the existing file.

ani2xcur init

This command parses the INF file and extracts the information needed to decode each .ani file. The results are written to an intermediate Cursor.toml file.

Next, build the cursor theme:

ani2xcur build

This command parses each .ani file and generates animated cursors in Xcursor format. The cursors are placed in a theme directory using the standard X cursor naming conventions.

Then, install the theme:

ani2xcur install

This creates the necessary links so X can locate and use the newly created cursor theme.

Finally, enable the theme using your system's cursor settings. The exact process varies by distribution, but most desktop environments provide a command-line tool or a graphical settings panel.

Enjoy!

Convert individual ANI files

If you only want to convert a single ANI file:

Note

This will output everything into a dedicated build directory like the build command does. I would recommend moving your ANI files into a separate directory prior to running this command.

mkdir custom-theme
mv *.ani ./custom-theme/
cd custom-theme
ani2xcur convert Default.ani

Roadmap

  • Automatically scale cursors to standard sizes.
  • Remove xcursorgen dependency.
  • Remove need for build directory for the convert subcommand.
  • Interactive mode to convert individual cursors with Linux remappings.

About

Batch convert Windows animated cursors (.ani) to Linux (.xcur). Similar to win2xcur, but faster and more convenient.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages