An "8-bit-esque" X11 & Windows cursor theme collection, featuring classic OS X ("Mac-ish") and vintage Windows ("Win-ish") styles.
This is a fork of retrosmart-x11-cursors by Manuel Domínguez López. Credit for the original artwork and design goes to him — see AUTHORS and NOTES.md for details on what changed in this fork.
- Multiple Cursor Styles: Includes
mac-ish,win-ish, andcur-fontcursor styles (src/base/). - HiDPI Support: New sizes (32px, 64px, and 128px), rendered cleanly via nearest-neighbor scaling.
- Unified Color Schemes: Master configuration in
schemes.yamlusing cleanoutlineandfillcolor fields. - Streamlined Multi-Core Build: In-memory streaming directly to PNGs (no intermediate XPM files on disk) with parallel CPU execution (
nproc). - Theme Variants: 24 distinct theme variants (8 color schemes across 3 styles), each with plain and drop-shadow versions.
Some of this fork's tooling and docs were put together with AI assistance. The cursor artwork itself is hand-drawn/hand-edited pixel art.
Releases are packaged into 4 archives — pick your platform and whether you want the classic black/white looks or the full extra-color set:
| Archive | Contains |
|---|---|
retrosmart-cursor-classic-<version>-linux.tar.gz |
Classic + Inverted schemes, X11 (Mac-ish & Win-ish, plain + shadow) |
retrosmart-cursor-classic-<version>-windows.zip |
Classic + Inverted schemes, Windows .cur/.ani |
retrosmart-cursor-extras-<version>-linux.tar.gz |
All other color schemes (Catppuccin, Everforest, Gruvbox, Rosé Pine, Solarized Dark, …), X11 |
retrosmart-cursor-extras-<version>-windows.zip |
Same extra schemes, Windows .cur/.ani |
Grab both archives for your OS if you want everything.
bash- ImageMagick (
convert) xcursorgen(part ofxorg-xcursor/libxcursoron most distros)python3(withPyYAMLandPillow)
git clone https://github.com/useless-anvil/retrosmart-cursor.git
cd retrosmart_source
make # or: ./build.sh allThis runs the full pipeline:
- Recolors, upscales, and rasterizes: Streams the 32px sources in
src/base/through in-memory recoloring (outline/fill), nearest-neighbor upscaling (32px, 64px, 128px), and optional drop-shadow effects straight into PNGs (no intermediate.xpmfiles written to disk). - Generates hotspot configs: Creates
xcursorgeninput files fromdata/hotspots.yaml. - Builds binary cursors: Generates final X11 cursor binaries, symlinked aliases (from
data/links.txt), andindex.themefiles.
Output lands in build_themes/Linux/<theme-name>/ (and build_themes/Windows/<theme-name>/).
Other build targets:
./build.sh png # recolor, upscale, and rasterize PNGs
./build.sh in # generate xcursorgen input files only
./build.sh cursors # build binaries/aliases/theme metadata only
./build.sh clean # remove artifacts/ and build_themes/- To tweak theme palettes: edit
schemes.yaml. - To change how a cursor looks: edit its file(s) in
src/base/(32px only). - To change a cursor's hotspot (click point): edit
data/hotspots.yaml.
GPL-3.0, inherited from the original project. See COPYING and LICENSE.
























