Skip to main content

Lncur

A simple python CLI to easily port Windows cursor packs to Linux!

Install

Pypi

pip install lncur

Aur

lncur is also available on the AUR with your AUR helper.

yay -S python-lncur

Usage

Setup

  1. First you need to set up your cursor theme directory, you can refer to the step 5 of the KDE guide for creating cursor theme. It should look like this :
Root of your super cool ported theme :D
├── cursors
└── index.theme

You can run lncur -m to quickly set up the directory

  1. Put all of your Windows cursor theme files (.ico and/or .ani) in the cursors directory.
  2. Rename all your file like the following (here using default Windows cursor names, depending on what cursor theme you're porting, the files can be named different, it's fine just rename them):
Cursor Windows name Linux/Xcursor name
Normal_select.png Normal select default
Text_select.png Text select text
Busy.png Busy wait
Precision_select.png Precision select crosshair
Alternate_select.png Alternate select up-arrow
Diagonal_resize_1.png Diagonal resize 1 size_fdiag
Diagonal_resize_2.png Diagonal resize 2 size_bdiag
Horizontal_resize.png Horizontal resize size_hor
Horizontal_resize.png Vertical resize size_ver
Move.png Move fleur
Unavailable.png Unavailable not-allowed
Link_select.png Link select pointer
Working_in_background.gif Working in background progress
Help_select.png Help select help
Pen.png The pen one idk the name pencil

All of the names are taken from the KDE breeze cursor theme
Cursors image from Microsoft
You can remove the pin and person cursors as they're not used.

  1. Convert the files to X cursor files using win2xcur, you can convert them all by going in the cursors directory and run
win2xcur *

Now your cursor theme should look like this now:

Root of ur super amazing theme :3
├── cursors
│   ├── crosshair
│   ├── default
│   ├── fleur
│   ├── help
│   ├── not-allowed
│   ├── pencil
│   ├── pointer
│   ├── progress
│   ├── size_bdiag
│   ├── size_fdiag
│   ├── size_hor
│   ├── size_ver
│   ├── text
│   ├── up-arrow
│   └── wait
└── index.theme

Running the program

Now you can use lncur to do all the symlinking by running lncur inside the directory where the cursors dir and running:

lncur -l

All arguments:

usage: lncur [-h] [-v] [-l] [-m MAKE]

options:
  -h, --help       show this help message and exit
  -v, --version    Prints version
  -l, --link       Symlinks cursors files
  -m, --make MAKE  Make a cursor theme directory

Dev

  1. Install uv
  2. Run:
git clone https://github.com/claymorwan/lncur.git
cd lncur
uv venv
source ./.venv/bin/activate
uv sync
  1. Build package with uv build

Metadata

Release files for lncur 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lncur 1.1.0
File Size Uploaded
lncur-1.1.0.tar.gz 11.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lncur 1.1.0
File Interpreter ABI Platform
lncur-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 17.2 kB

Release files / lncur-1.1.0.tar.gz

Download URL lncur-1.1.0.tar.gz
Size 11.4 kB
Tags Source
SHA-256 checksum
How to use checksums
dd49a5a7500f3c43d4cfdb4fb0b233251ef366e0e1da1426d84632bb0e169be9
BLAKE2b-256 checksum
How to use checksums
d34a994f658484ed54c58e6a1ee30e24bb00ee534c2d664ee18a43df4aaba1ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.5

Release files / lncur-1.1.0-py3-none-any.whl

Download URL lncur-1.1.0-py3-none-any.whl
Size 5.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1505526173b9613d90c8ee4de1dc9043901715935fcec7c917089519bc998bde
BLAKE2b-256 checksum
How to use checksums
f10ac7ef7226eacb7bc052c96b85a0f98e9f751dfac263bb0a8daae5255b6295
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.5

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page