Awesome Open Source
Awesome Open Source

CI PyPI - Wheel Docs Code Coverage CodeFactor

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.

create a static XCursor

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("."))

create an animated XCursor

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("."))

create a static Windows Cursor (.cur)

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("."))

create an animated Windows Cursor (.ani)

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("."))


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Python (1,137,692
Hacktoberfest (33,731
Api (22,138
Windows (9,689
X11 (504
Related Projects