Convert Windows cursor themes (.cur / .ani) to KDE/X11 Xcursor format.
- uv — Python package manager
xcursorgen— X11 cursor generator (usually provided by thexorg-xcursorgenpackage)
# Convert cursor theme (automatically reads config from .inf file)
uv run script/win2xcursor.py <directory-containing-.inf>
# Specify output directory
uv run script/win2xcursor.py <directory-containing-.inf> -o <output-directory>The output directory defaults to a subdirectory named after the theme under the source directory.
cp -r <output-directory> ~/.local/share/icons/Then select it in KDE System Settings → Cursor Theme.
| Format | Description |
|---|---|
.cur |
Windows static cursor (32bpp DIB, supports embedded PNG) |
.ani |
Windows animated cursor (RIFF/ACON container, supports independent frame rate and playback sequence) |
.inf |
Windows cursor installation config (used to extract cursor mappings and theme name) |
| Windows Key | X11 Primary Name | Symlinks |
|---|---|---|
| Arrow | default |
left_ptr, top_left_arrow |
| Help | question_arrow |
help, left_ptr_help, whats_this, etc. |
| AppStarting | progress |
left_ptr_watch, half-busy, etc. |
| Wait | wait |
watch |
| crosshair | crosshair |
cross, tcross |
| NWPen | pencil |
— |
| No | not-allowed |
no-drop, crossed_circle, circle, etc. |
| SizeNS | sb_v_double_arrow |
size_ver, n-resize, s-resize, ns-resize, etc. |
| SizeWE | sb_h_double_arrow |
size_hor, e-resize, w-resize, ew-resize, etc. |
| SizeNWSE | size_fdiag |
nwse-resize, bd_double_arrow, etc. |
| SizeNESW | size_bdiag |
nesw-resize, fd_double_arrow, etc. |
| SizeAll | fleur |
move, all-scroll, size_all, grabbing |
| UpArrow | sb_up_arrow |
center_ptr, up_arrow |
| Hand | hand2 |
pointer, pointing_hand, etc. |
| IBeam | xterm |
text, ibeam |
| Person | person |
— |
| Pin | pin |
— |
This project is licensed under the GNU General Public License v3.0.