Ani2xcur
Batch convert Windows animated cursors (.ani) to Linux (.xcur). Similar to win2xcur, but faster and more convenient.
Install / Use
/learn @nicdgonzalez/Ani2xcurREADME
ani2xcur
[!NOTE]
This project recieved a full rewrite and was renamed fromani-to-xcursortoani2xcuron 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--infflag 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 dedicatedbuilddirectory like thebuildcommand 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
xcursorgendependency. - [ ] Remove need for
builddirectory for theconvertsubcommand. - [ ] Interactive mode to convert individual cursors with Linux remappings.
Related Skills
node-connect
348.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
348.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
348.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
