Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Clickgen is cross-platform python library for building XCursor and Windows Cursors.
Clickgen's core functionality is heavily inspired by quantum5/win2xcur from v2.0.0 and onwards.
Note The project's success depends on sponsorships. Meeting sponsorship goals for ful1e5 GitHub Account will drive new releases and ongoing development.
cursor_size:canvas_size
format. See changelog-05212024ctgen
CLI supports .json
and .yaml
/.yml
as configuration file.[cursors.fallback_settings]
in config. See changelog-08172023v2.0.0
.
I will be restricting any updates to the >=v1.2.0
versions to security updates and hotfixes.
Check updated documentations for building cursors from API and CLIs usage.pip3 install clickgen
Note Distributions' packages are not affiliated with clickgen developers. If you encounter any issues with the incorrect installation, you should contact the package maintainer first.
clickgen
CLIFor example, if you have to build ponter.png file to Linux Format:
clickgen samples/pngs/pointer.png -x 10 -y 10 -s 22 24 32 -p x11
You also build animated Xcursor by providing multiple png files to argument and animation delay with -d
:
clickgen samples/pngs/wait-001.png samples/pngs/wait-001.png -d 3 -x 10 -y 10 -s 22 24 32 -p x11
To build ponter.png
file to Windows Format (.cur
):
Warning: Windows Animated Cursor only support single size.
clickgen samples/pngs/pointer.png -x 10 -y 10 -s 32 -p windows
You can also specify the size in the size:canvas_size
format to enable canvasing:
clickgen samples/pngs/pointer.png -x 10 -y 10 -s 20:32 -p windows
For animated Windows Cursor (.ani
):
clickgen samples/pngs/wait-001.png samples/pngs/wait-001.png -d 3 -x 10 -y 10 -s 32 -p windows
For more information, run clickgen --help
.
ctgen
CLIThis CLI allow you to generate Windows and Linux Cursor themes from config (.toml.yml,and .json) files.
ctgen sample/sample.json
ctgen sample/sample.toml
ctgen sample/sample.yaml
You also provide multiple theme configuration file once as following:
ctgen sample/sample.toml sample/sample.json
Override theme's name
of theme with -n
option:
ctgen sample/sample.toml -n "New Theme"
You can run ctgen --help
to view all available options and you also check
samples directory for more information.
XCursor
from clickgen.parser import open_blob
from clickgen.writer import to_x11
with open("samples/pngs/pointer.png", "rb") as p:
cur = open_blob([p.read()], hotspot=(50, 50))
# save X11 static cursor
xresult = to_x11(cur.frames)
with open("xtest", "wb") as o:
o.write(xresult)
XCursor
from glob import glob
from typing import List
from clickgen.parser import open_blob
from clickgen.writer import to_x11
# Get .png files from directory
fnames = glob("samples/pngs/wait-*.png")
pngs: List[bytes] = []
# Reading as bytes
for f in sorted(fnames):
with open(f, "rb") as p:
pngs.append(p.read())
cur = open_blob(pngs, hotspot=(100, 100))
# save X11 animated cursor
result = to_x11(cur.frames)
with open("animated-xtest", "wb") as o:
o.write(result)
Windows Cursor
(.cur)from clickgen.parser import open_blob
from clickgen.writer import to_win
with open("samples/pngs/pointer.png", "rb") as p:
cur = open_blob([p.read()], hotspot=(50, 50))
# save Windows static cursor
ext, result = to_win(cur.frames)
with open(f"test{ext}", "wb") as o:
o.write(result)
Windows Cursor
(.ani)from glob import glob
from typing import List
from clickgen.parser import open_blob
from clickgen.writer import to_win
# Get .png files from directory
fnames = glob("samples/pngs/wait-*.png")
pngs: List[bytes] = []
# Reading as bytes
for f in sorted(fnames):
with open(f, "rb") as p:
pngs.append(p.read())
cur = open_blob(pngs, hotspot=(100, 100))
# save Windows animated cursor
ext, result = to_win(cur.frames)
with open(f"test-ani{ext}", "wb") as o:
o.write(result)
Check wiki for documentation.
FAQs
The hassle-free cursor building toolbox.
We found that clickgen demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.