A portmanteau of "cursor" and "Rust".
A tool written in Rust to convert cursors between Windows and Linux. Specifically, converting from the CUR/ANI format to the Xcursor format (plus some other features).
There are quite a few CLI tools that already exist for this purpose. You can see a comparison in COMPARISONS.md that I've tried to keep neutral if you need help deciding.
There are currently two supported methods of installation:
- download the binaries on the releases page (recommended)
- build from crates with
cargo install currust(requirescargo)
The intended use-case of this tool is to convert a Windows cursor theme to Linux. A cursor theme is a directory that contains some cursors, along with an installer file that uses the INF format.
You can convert a cursor theme as such:
./currust ./my-cursor-themeThis converts the theme and writes the produced X11 theme (which is a directory) in the current
directory. Add the --out (or -o for short) argument to place it in the specified path.
./currust ./my-cursor-theme -o ./please/go/here/insteadCursor themes on Windows can be scaled by Windows itself. Unfortunately, this feature doesn't exist on most Linux distributions, so Xcursor themes have to include their own size variations.
The --scale-to argument is available to provide some scale factors, along
with --scale-with to provide a scaling algorithm to use (default: Lanczos3).
Note that this increases the size of the resulting cursor theme.
./currust ./my-cursor-theme --scale-to 1.5 2 3 --scale-with mitchell
For more information on other commands and possible usages, view the help text:
./currust -h # Summarised help text
./currust --help # Detailed help text
All the baseline goals I had for this project are complete, so this is more akin to a "planned/future features" section. Note that not everything here may be added.
- Publish or otherwise for usage with
cargoand package managers - Conversion from X11 cursors to Windows cursors (i.e, the other way around)
- [SVG cursor themes][1] for KDE Plasma
- hyprcursor (cursor format for hyprland) support