Atomsky's cursor packager
Project description
accurse
Atomsky's cursor packager
Why?
Theming cursors for different standards is a curse. accurse alleviates the
curse by allowing you to package hyprcursor and xcursor in a manageable way.
Installation
accurse is a python package. You can install it using pip install accurse.
I'd recommend cloning this repository and installing the package locally, if
you want to make use of the assets. uv is
a great tool for such a use case.
The package needs the commands rsvg-convert and xcursorgen to be in the
PATH. If you are on Arch, make sure the following packages are installed:
- librsvg
- xorg-xcursorgen
Usage
accurse expects the path to a metadata.toml as an argument. This metadata
file describes the cursor shapes, their aliases and hotspots. The metadata
specification is provided in the next section. If you have an assets directory,
the metadata.toml file should be in that directory. For example, if there are
SVG cursor files in the assets/Bibata directory (or its subdirectories) along
with metadata.toml, the following command creates packaged Bibata cursors
(both xcursor and hycursor) in assets/AC-Bibata.
accurse assets/Bibata/metadata.toml
You can then move the AC-Bibata directory to an appropriate location, such as
~/.local/share/icons, to be able to use the packaged cursors. Afterward,
change the cursor theme and size in different config files. Here's my personal
script
to set the cursor theme and size for GTK and Hyprland. A reboot of the WM is
sometimes necessary because some apps use environment variables to set cursors.
Metadata
The templates directory contains an example metadata.toml. Skim through
that file first as it's pretty self-explanatory. The following table specifies
what accurse looks for in the metadata file.
[theme]
| Field | Type | Description |
|---|---|---|
| name | string | name of the theme |
| description | string | description of the theme |
| version | string | version of the theme |
| author | string | author of the theme |
[config]
| Field | Type | Description |
|---|---|---|
| shape_size | number | size of the (square) SVGs |
| x_hotspot | number | default hotspot x-coordinate |
| y_hotspot | number | default hotspot y-coordinate |
| old_substr | list of strings | target substrings |
| new_substr | list of strings | replacement substrings |
| mirror | boolean | mirror shapes with flip=1 flag |
| xcur_sizes | list of numbers | compile xcursors of these sizes |
| cleanup | list of strings | delete "hycur" or "xcur" build files |
[cursors.shape]
| Field | Type | Description |
|---|---|---|
| x_hotspot | number | hotspot x-coordinate |
| y_hotspot | number | hotspot y-coordinate |
| symlinks | list of strings | shape aliases |
| animated | boolean | whether it's animated |
| anim_delay | number | delay between frames (ms) |
| flips | boolean | whether to flip shape if mirror=1 |
License
Copyright (C) 2025 ATM Jahid Hasan
accurse is released under the
GNU AGPL.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file accurse-0.1.0.tar.gz.
File metadata
- Download URL: accurse-0.1.0.tar.gz
- Upload date:
- Size: 174.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.31
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3390d6d3adf7427d2938118d5be2025228796171296fd8a6f5cd3903aba334b
|
|
| MD5 |
f1c3870609d3a30dccb02f96b5ac0fa0
|
|
| BLAKE2b-256 |
a210391f025ffcfaed774381fb3505f686dab1b55a5d09a73ce3e455c9d9ff66
|
File details
Details for the file accurse-0.1.0-py3-none-any.whl.
File metadata
- Download URL: accurse-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.31
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98692a3bedbf3823f71c6024c3c0b4daace36ab4b2188394209e896d5000c363
|
|
| MD5 |
ad42122411d947a916584a3e996b0fd1
|
|
| BLAKE2b-256 |
a9d379749d2f0a6d8fff82f22ed755d451b3825d99df32a558af5237d0a3c11f
|