A minimal eight-point star cursor for your desktop environment.
B/W tone contrast to stay readable on black and white pages.
X-Vector — white core, black outline. Built for dark desktops; the outline keeps it readable on light pages.
X-Vector-Inverse — black core, white outline. Built for light desktops; the outline keeps it readable on dark pages.
X-Vector-Meta — rhombic horizontal and vertical axes, the classic X diagonals, and an eight-point centre. Built for dark desktops.
X-Vector-Meta-Inverse — the Meta geometry with inverted tones. Built for light desktops.
X-Vector-Link — rhombic horizontal and vertical axes with the four axial separators bridged, so the arms meet the centre. Built for dark desktops.
X-Vector-Link-Inverse — the Link geometry with inverted tones. Built for light desktops.
Preview tiles use a 36×36 canvas: the 28 px cursor plus 4 px breathing room on every side.
- 28 px nominal size.
- Four main axes: 24 px at the 28 px size (2 px margin on every side for the outline).
- Four diagonals: 14 px.
X-Vector: white 1 px core; black 1 px outline.X-Vector-Inverse: black 1 px core; white 1 px outline.X-Vector-Meta: rhombic axes; 3 px rhombus core with a 1 px outline at the 28 px size; the centre is an eight-point figure (a 3×3 square plus a 5 px rhombus). The diagonals stay the classic X.X-Vector-Link: the same geometry as Meta, with the four axial separators bridged by one core pixel. The arms meet the centre and read as a compact hub; the diagonals and the outer contour stay unchanged.- Meta and Link geometry snap to whole pixels. A rotated 1×1 square is smaller than a pixel at 28 px and would average to gray, so the smallest crisp rhombus is used instead. No anti-aliasing is applied.
- Linux themes carry both XCursor and hyprcursor data. The hyprcursor SVG is
built from 1×1 rects on the 28 px grid with
shape-rendering="crispEdges"andresize_algorithm = nearest, so Hyprland gets the same crisp pixel art without bitmap resampling. - No centre dot.
- Static XCursor; no motion trail and no per-click animation (XCursor cannot receive global mouse-button events).
All six variants are two-tone cursors. On a matching background one layer
disappears, while the other keeps the star visible. X-Vector,
X-Vector-Meta and X-Vector-Link favor dark desktops; the three
-Inverse variants favor light ones. On mid-gray both layers are visible —
the unavoidable compromise of a two-tone cursor.
The text cursor is a three-stripe vertical sandwich, 8 px shorter than the
nominal cursor. X-Vector uses black-white-black; the inverse uses
white-black-white. Both survive dark and light input fields.
| Platform | Format | Guide |
|---|---|---|
| Linux | XCursor + native Hyprland hyprcursor | Linux setup |
| Windows | .cur + PowerShell installer |
Windows setup |
| macOS | Mousecape .cape |
macOS setup |
X-Vector is native on Linux. Each theme directory contains both the XCursor tree for GTK, Qt and XWayland and a hyprcursor tree for Hyprland. Hyprland uses the SVG-based native cursor; the XCursor copy remains the fallback for other applications. Windows and macOS use converted formats generated from the same star geometry.
Current version: 1.3.0 — Linux, Windows and macOS packages, including the
Meta family and its Link variant.
Older releases are deprecated; use the latest one.
See CHANGELOG.md for details.
The generated XCursor themes are committed, so Python is only needed when rebuilding.
git clone https://github.com/369arc/x-vector-cursor.git
cd x-vector-cursor
./install.shThe script installs all six variants and applies X-Vector. To apply the
Meta star:
./install.sh X-Vector-MetaFor the Link variant:
./install.sh X-Vector-LinkFor the inverse variants, pass X-Vector-Inverse, X-Vector-Meta-Inverse or
X-Vector-Link-Inverse.
For Hyprland, GNOME, KDE Plasma, XFCE, Cinnamon, MATE, generic X11, GTK and Flatpak instructions, see docs/linux.md.
Windows cannot load XCursor themes. Use the generated .cur package and the
PowerShell installer: platforms/windows/README.md.
macOS needs a Mousecape cape: platforms/macos/README.md.
Requires Python 3 and hyprcursor-util (from the hyprcursor package) for the
native Hyprland output.
./build.shThis regenerates all six XCursor themes, their native hyprcursor data, and the
Windows/macOS assets in platforms/.
./uninstall.shThis removes the Linux themes. See the Windows and macOS guides for their uninstall steps.
MIT. X-Vector is an original cursor design.

















