Clickgen
The hassle-free cursor building toolbox.
clickgen is API for building X11 and Windows Cursors from .png
files. clickgen is using anicursorgen
and xcursorgen
under the hood.
Install
using pip
pip3 install clickgen
ArchLinux
yay -S python-clickgen
Manjaro
pamac build python-clickgen
CLI
clickgen -h
PyPi Dependencies
- Pillow/python-pillow
Build Dependencies
- gcc
External Libraries
- libxcursor-dev
- libx11-dev
- libpng-dev (<=1.6)
Install Dependencies
macOS
brew install --cask xquartz
brew install libpng gcc
Debain/ubuntu
sudo apt install libx11-dev libxcursor-dev libpng-dev
ArchLinux/Manjaro
sudo pacman -S libx11 libxcursor libpng
Fedora/Fedora Silverblue/CentOS/RHEL
sudo dnf install libx11-devel libxcursor-devel libpng-devel
Examples
Check examples directory for building entire theme from .png
files.
XCursor
create a static from pathlib import Path
from clickgen.builders import XCursor
from clickgen.core import CursorAlias
with CursorAlias.from_bitmap(png="all-scroll.png", hotspot=(5, 2)) as alias:
x_cfg = alias.create(sizes=[(22, 22),(24, 24)])
XCursor.create(alias_file=x_cfg, out_dir=Path("."))
XCursor
create an animated from pathlib import Path
from clickgen.builders import XCursor
from clickgen.core import CursorAlias
with CursorAlias.from_bitmap(png=["all-scroll-01.png", "all-scroll-02.png"], hotspot=(5, 2)) as alias:
x_cfg = alias.create(sizes=[(22, 22),(24, 24)])
XCursor.create(alias_file=x_cfg, out_dir=Path("."))
Windows Cursor
(.cur)
create a static from pathlib import Path
from clickgen.builders import WindowsCursor
from clickgen.core import CursorAlias
with CursorAlias.from_bitmap(png="all-scroll.png", hotspot=(5, 2)) as alias:
win_cfg = alias.create(sizes=(24, 24))
WindowsCursor.create(alias_file=win_cfg, out_dir=Path("."))
Windows Cursor
(.ani)
create an animated from pathlib import Path
from clickgen.builders import WindowsCursor
from clickgen.core import CursorAlias
with CursorAlias.from_bitmap(png=["all-scroll-01.png", "all-scroll-02.png"], hotspot=(5, 2)) as alias:
win_cfg = alias.create(sizes=(24, 24))
WindowsCursor.create(alias_file=win_cfg, out_dir=Path("."))