Skip to content

Commit 8a1cff4

Browse files
committed
docs: easy to follow build instructions
1 parent 9a7ac26 commit 8a1cff4

File tree

3 files changed

+119
-107
lines changed

3 files changed

+119
-107
lines changed

CHANGELOG.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [unreleased]
99

10+
## [v2.0.2]- 13 August 2024
11+
1012
### :warning: Changes for Developers/Package Distributors
1113

1214
- The 'bitmaps' directory has been removed from the git repository. You can now generate the PNG files using `yarn render` or download them from the release assets.
@@ -32,6 +34,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3234
- build script renamed (`release.sh` -> `build.sh`)
3335
- Use 'xz' for better compression in `build.sh` script
3436
- De-framed animated cursors to static SVG files
37+
3538
## [v2.0.1]- 20 October 2022
3639

3740
### Changed
@@ -137,7 +140,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
137140
- Logo and badges
138141
- Initial release 🎊
139142

140-
[unreleased]: https://github.com/ful1e5/XCursor-pro/compare/v2.0.1...main
143+
[unreleased]: https://github.com/ful1e5/XCursor-pro/compare/v2.0.2...main
144+
[v2.0.2]: https://github.com/ful1e5/XCursor-pro/compare/v2.0.1...v2.0.2
141145
[v2.0.1]: https://github.com/ful1e5/XCursor-pro/compare/v2.0.0...v2.0.1
142146
[v2.0.0]: https://github.com/ful1e5/XCursor-pro/compare/v1.1.4...v2.0.0
143147
[v1.1.4]: https://github.com/ful1e5/XCursor-pro/compare/v1.1.3...v1.1.4

README.md

+106-97
Original file line numberDiff line numberDiff line change
@@ -4,37 +4,30 @@
44

55
[![build](https://github.com/ful1e5/XCursor-pro/actions/workflows/build.yml/badge.svg)](https://github.com/ful1e5/XCursor-pro/actions/workflows/build.yml)
66

7-
## XCursor-pro needs your Input
7+
## Notes
88

9-
Until 2021 my cursors projects were well funded by [pling.com](https://www.pling.com) but since the
10-
[pling-factor](https://www.pling.com/terms/payout) on the website has decreased and monthly payments
11-
are <500$, It is now dependent on community funding and sponsorships. If you want to help me to maintain
12-
XCursor-pro and my other open source projects actively, consider sponsoring my work on [GitHub Sponsor](https://github.com/sponsors/ful1e5)
13-
or DM me on [Twitter](https://twitter.com/ful1e5) if your company would like to support my projects,
14-
I will gladly look into it and post your avatar in the project's README.
9+
- All cursor's SVG files are found in [svg](./svg) directory or you can also find them on [Figma](https://www.figma.com/file/aiDqxzFmwl8qtaFyQEE3kk/XCursor-Pro?node-id=0%3A1).
1510

16-
I appreciate all the wonderful people who patronize and sponsoring my work.
11+
<!-- If you're interested, you can learn more about "sponsor-spotlight" on
12+
https://dev.to/ful1e5/lets-give-recognition-to-those-supporting-our-work-on-github-sponsors-b00 -->
1713

18-
## Sponsors
14+
![shoutout-sponsors](https://sponsor-spotlight.vercel.app/sponsor?login=ful1e5)
1915

20-
<!-- Add your name or avatar here with the Pull Request in case I missed it. -->
21-
22-
N/A
16+
- **2024-06-24**: [b02ffaf](https://github.com/ful1e5/XCursor-pro/commit/b02ffaf9ebdf87e110283230331c0cfcf007dddc) Partitioned cursor build configuration into multiple files according to platform:
17+
`build.toml` -> `configs/win_lg.build.toml`, `configs/win_rg.build.toml`, `configs/win_xl.build.toml`, `configs/x.build.toml`.
2318

2419
---
2520

2621
![XCursor-Pro-Red](https://imgur.com/dAx7Tko.png)
2722
![XCursor-Pro-Dark](https://imgur.com/xU23azm.png)
2823
![XCursor-Pro-Light](https://imgur.com/tgOj0pt.png)
2924

30-
> **Note**
31-
> All cursor's `.svg` files are found in [svg](./svg) directory or you can also find them on
32-
> [Figma](https://www.figma.com/file/aiDqxzFmwl8qtaFyQEE3kk/XCursor-Pro?node-id=0%3A1).
33-
3425
## Cursor Sizes
3526

3627
### Xcursor Sizes:
3728

29+
<kbd>16</kbd>
30+
<kbd>20</kbd>
3831
<kbd>22</kbd>
3932
<kbd>24</kbd>
4033
<kbd>28</kbd>
@@ -50,10 +43,13 @@ N/A
5043

5144
### Windows Cursor Size:
5245

53-
- <kbd>48x48</kbd> - Extra Large
54-
- <kbd>32x32</kbd> - Large
55-
- <kbd>24x24</kbd> - Regular
56-
- <kbd>16x16</kbd> - Small
46+
| size | Regular (× ²⁄₃) | Large (× ⁴⁄₅) | Extra-Large (× 1) |
47+
| ---: | --------------: | ------------: | ----------------: |
48+
| 32 | 21.333 → 22 | 25.6 → 26 | 32 |
49+
| 48 | 32 | 38.4 → 39 | 48 |
50+
| 64 | 42.666 → 43 | 51.2 → 52 | 64 |
51+
| 96 | 64 | 76.8 → 77 | 96 |
52+
| 128 | 85.333 → 86 | 102.4 → 103 | 128 |
5753

5854
## Colors:
5955

@@ -131,156 +127,169 @@ Run the `uninstall.bat` script packed with the `.zip` archive
131127

132128
## Build From Source
133129

134-
#### Notes
135-
136-
- See `ctgen --help` for all available options.
137-
- **-c**: Theme comment.
138-
- **-n**: The name you want to give to the generated theme.
139-
- **-d**: bitmaps directory
140-
to change the following options in `ctgen` to build the appropriate variant:
141-
single configuration file `build.toml` is responsible for building all variants. Due to this, you will have
142-
143-
- Since XCursor-Pro variants are designed similarly, they share the same hotspot settings so a
144-
file from a svg, Then you can use yarn because bitmapper is written in TypeScript.
145-
you don't need that. If you want to develop/modify XCursor-Pro's colors, and bitmaps, or generate a png
146-
- yarn is optional, For building XCursors and Windows cursors from `.png` files or resizing them
147-
excluding the render scripts. They are useful for converting `.svg` files to `.png` files.
148-
- Check out the scripts section in [package.json](./package.json) to see how we build the cursor theme,
149-
- XCursor-Pro build configuration and cursor hotspot settings are bundled in the `build.toml` file.
150-
151-
### Build prerequisites
130+
### Prerequisites
152131

153-
- [yarn](https://github.com/yarnpkg/yarn)
154-
- [clickgen](https://github.com/ful1e5/clickgen)>=2.1.2 (`pip install clickgen`)
155132
- Python version 3.7 or higher
133+
- [clickgen](https://github.com/ful1e5/clickgen)>=2.2.5 (`pip install clickgen`)
134+
- [yarn](https://github.com/yarnpkg/yarn)
156135

157136
### Quick start
158137

159-
1. Install [build prerequisites](#build-prerequisites) on your system
138+
1. Install [build prerequisites](#prerequisites) on your system
160139
2. `git clone https://github.com/ful1e5/XCursor-pro`
161-
3. `cd XCursor-pro && yarn build`
162-
4. See [Installing XCursor-Pro Cursor](#installing-xcursor-pro-cursor).
140+
3. `cd XCursor-pro`
141+
4. `yarn install`
142+
5. `yarn generate`
143+
6. See [Installing XCursor-Pro Cursor](#installing-xcursor-pro-cursor).
144+
145+
### Getting Started
146+
147+
Once you have the [build prerequisites](#prerequisites) installed, You can personalize colors,
148+
customize sizes, change target platforms, and more. This process involves using external tools,
149+
as this repository only contains SVG files and configuration for these tools:
163150

164-
### Building
151+
- [cbmp](https://github.com/ful1e5/cbmp): Used for customizing colors and generating PNG files.
152+
- [ctgen](https://github.com/ful1e5/clickgen): Used for customizing sizes and building XCursor and Windows Cursors.
165153

166-
> **Note**
167-
> Bitmaps are already generated in the `bitmaps` directory and **managed by the maintainer**
168-
> (do not edit them directly).
154+
You can refer to the README of each tool for more information on their command-line options.
169155

170-
First make sure you installed the [build prerequisites](#build-prerequisites).
171-
Now that you have the dependencies, you can try build individual themes from bitmaps and
172-
customize sizes, target platform, and etc. with the `ctgen` CLI (packed with `clickgen`).
156+
#### Crafting Your XCursor-pro Cursor
173157

174-
#### `yarn build` aberration
158+
The process of creating custom cursor themes involves two main steps:
175159

176-
Here are the default commands we used to build the XCursor-Pro's variants and packed them into `yarn build`:
160+
1. Rendering SVG files to PNG files.
161+
2. Building cursor themes from PNG files.
162+
163+
#### Customize Colors
164+
165+
`cbmp` provides three options for changing colors:
166+
167+
1. `-bc`: Base color, which replaces the `#00FF00` color in the SVG.
168+
2. `-oc`: Outlined color, which replaces the `#0000FF` color in the SVG.
169+
3. `-wc` (optional): Watch Background color, which replaces the `#FF0000` color in the SVG.
177170

178171
```bash
179-
ctgen build.toml -d 'bitmaps/XCursor-Pro-Dark' -n 'XCursor-Pro-Dark' -c 'Modern dark XCursors.'
180-
ctgen build.toml -d 'bitmaps/XCursor-Pro-Light' -n 'XCursor-Pro-Light' -c 'Modern light XCursors.'
181-
ctgen build.toml -d 'bitmaps/XCursor-Pro-Red' -n 'XCursor-Pro-Red' -c 'Modern Red XCursors.'
172+
npx cbmp [...] -bc "<hex>" -oc "<hex>" -wc "<hex>"
182173
```
183174

184-
Afterwards, the themes can be found in the `themes` directory.
175+
Alternatively, you can provide a JSON configuration file to render SVG files, which contains a sequence of `cbmp` commands:
185176

186-
#### Customize Sizes
177+
```bash
178+
npx cbmp render.json
179+
```
187180

188-
> **Note**
189-
> You can change the cursor size up to 200 because pngs are rendered with 200x200.
190-
> If the cursor is resized by more than rendered png size, the final cursor will be blurred.
181+
#### Customize Sizes
191182

192183
##### Customize Windows Cursor size
193184

194185
To build Windows cursor with size `16`:
195186

196-
> **Warning**
197-
> Windows cursor supports only one size, if multiple sizes are given with `-s` the first size will
198-
> be considered in build.
199-
200187
```bash
201-
ctgen build.toml -s 16 -p windows -d 'bitmaps/XCursor-Pro-Light' -n 'XCursor-Pro-Light' -c 'Modern light XCursor with size 16'
188+
ctgen configs/win_rg.build.toml -s 16 -d "bitmaps/XCursor-Pro-Dark" -n "XCursor-Pro-Dark" -c "Modern, Proffesional Windows Cursors with size 16"
202189
```
203190

204191
You can also customize output directory with `-o` option:
205192

206193
```bash
207-
ctgen build.toml -s 16 -p windows -d 'bitmaps/XCursor-Pro-Light' -o 'out' -n 'XCursor-Pro-Light' -c 'Modern light XCursor with size 16'
194+
ctgen configs/win_rg.build.toml -s 16 -d "bitmaps/XCursor-Pro-Dark" -o "out" -n "XCursor-Pro-Dark" -c "Modern, Proffesional Windows Cursors with size 16"
208195
```
209196

210197
##### Customize XCursor size
211198

212199
To build XCursor with size `16`:
213200

214201
```bash
215-
ctgen build.toml -s 16 -p x11 -d 'bitmaps/XCursor-Pro-Light' -n 'XCursor-Pro-Light' -c 'Modern light XCursor with size 16'
202+
ctgen configs/x.build.toml -s 16 -d "bitmaps/XCursor-Pro-Dark" -n "XCursor-Pro-Dark" -c "Modern, Proffesional XCursors with size 16"
216203
```
217204

218205
You can also assign multiple sizes to `ctgen` for XCursors build:
219206

220207
```bash
221-
ctgen build.toml -s 16 24 32 -p x11 -d 'bitmaps/XCursor-Pro-Light' -n 'XCursor-Pro-Light' -c 'Modern light XCursor'
222-
```
223-
224-
#### Customize Colors
225-
226-
To customize XCursor-Pro's color you have to install node dependencies with `yarn install` command.
227-
After installing dependencies you can customize the colors via `npx cbmp` Node CLI App which packed with
228-
[cbmp](https://github.com/ful1e5/cbmp) node package.
229-
230-
##### `yarn render` aberration
231-
232-
Here are the default commands we used for generating the XCursor-Pro's bitmaps and packed them into `yarn render`:
233-
234-
```bash
235-
npx cbmp -d 'svg' -n 'XCursor-Pro-Dark' -bc '#000000' -oc '#FFFFFF'
236-
npx cbmp -d 'svg' -n 'XCursor-Pro-Light' -bc '#FFFFFF' -oc '#000000'
237-
npx cbmp -d 'svg' -n 'XCursor-Pro-Red' -bc '#FF0000' -oc '#FFFFFF'
208+
ctgen configs/x.build.toml -s 16 18 24 32 -d "bitmaps/XCursor-Pro-Dark" -n "XCursor-Pro-Dark" -c "Modern, Proffesional XCursors"
238209
```
239210

240211
#### Examples
241212

242-
Lets generate modern XCursor-Pro with green base color and black outline:
213+
Lets generate XCursor-Pro Cursor with green and black colors:
243214

244215
```bash
245-
npx cbmp -d 'svg' -n 'XCursor-Pro-Hacker' -bc '#00FE00' -oc '#000000'
216+
npx cbmp -d "svg" -o "bitmaps/XCursor-Pro-Hacker" -bc "#00FE00" -oc "#000000"
246217
```
247218

248219
After rendering custom color you have to build cursor through `ctgen`:
249220

250-
```bash
251-
ctgen build.toml -d 'bitmaps/XCursor-Pro-Hacker' -n 'XCursor-Pro-Hacker' -c 'Green and black XCursor-Pro cursors.'
252-
```
221+
- XCursor:
222+
```bash
223+
ctgen configs/x.build.toml -d "bitmaps/XCursor-Pro-Hacker" -n "XCursor-Pro-Hacker" -c "Green and Black XCursors."
224+
```
225+
- Windows Regular Cursor:
226+
```bash
227+
ctgen configs/win_rg.build.toml -d "bitmaps/XCursor-Pro-Hacker" -n "XCursor-Pro-Hacker" -c "Green and Black Regular Windows Cursors."
228+
```
229+
- Windows Large Cursor:
230+
```bash
231+
ctgen configs/win_lg.build.toml -d "bitmaps/XCursor-Pro-Hacker" -n "XCursor-Pro-Hacker" -c "Green and Black Large Windows Cursors."
232+
```
233+
- Windows Extra Large Cursor:
234+
```bash
235+
ctgen configs/win_xl.build.toml -d "bitmaps/XCursor-Pro-Hacker" -n "XCursor-Pro-Hacker" -c "Green and Black Extra Large Windows Cursors."
236+
```
253237

254238
Afterwards, Generated theme can be found in the `themes` directory.
255239

256240
###### XCursor-Pro Gruvbox
257241

258242
```bash
259-
npx cbmp -d 'svg' -n 'XCursor-Pro-Gruvbox' -bc '#282828' -oc '#EBDBB2'
260-
ctgen build.toml -d 'bitmaps/XCursor-Pro-Gruvbox' -n 'XCursor-Pro-Gruvbox' -c 'Groovy XCursor-Pro cursors.'
243+
npx cbmp -d "svg" -o "bitmaps/XCursor-Pro-Gruvbox" -bc "#282828" -oc "#EBDBB2"
244+
245+
ctgen configs/x.build.toml -d "bitmaps/XCursor-Pro-Gruvbox" -n "XCursor-Pro-Gruvbox" -c "Groovy XCursors."
246+
ctgen configs/win_rg.build.toml -d "bitmaps/XCursor-Pro-Gruvbox" -n "XCursor-Pro-Gruvbox" -c "Groovy Windows Regular Cursors."
247+
ctgen configs/win_lg.build.toml -d "bitmaps/XCursor-Pro-Gruvbox" -n "XCursor-Pro-Gruvbox" -c "Groovy Windows Large Cursors."
248+
ctgen configs/win_xl.build.toml -d "bitmaps/XCursor-Pro-Gruvbox" -n "XCursor-Pro-Gruvbox" -c "Groovy Windows Extra Large Cursors."
261249
```
262250

263251
###### XCursor-Pro Solarized Dark
264252

265253
```bash
266-
npx cbmp -d 'svg' -n 'XCursor-Pro-Solarized-Dark' -bc '#002b36' -oc '#839496'
267-
ctgen build.toml -d 'bitmaps/XCursor-Pro-Solarized-Dark' -n 'XCursor-Pro-Solarized-Dark' -c 'Solarized Dark XCursor-Pro cursors.'
254+
npx cbmp -d "svg" -o "bitmaps/XCursor-Pro-Solarized-Dark" -bc "#002b36" -oc "#839496"
255+
256+
ctgen configs/x.build.toml -d "bitmaps/XCursor-Pro-Solarized-Dark" -n "XCursor-Pro-Solarized-Dark" -c "Solarized Dark XCursors."
257+
ctgen configs/win_rg.build.toml -d "bitmaps/XCursor-Pro-Solarized-Dark" -n "XCursor-Pro-Solarized-Dark" -c "Solarized Dark Windows Regular Cursors."
258+
ctgen configs/win_lg.build.toml -d "bitmaps/XCursor-Pro-Solarized-Dark" -n "XCursor-Pro-Solarized-Dark" -c "Solarized Dark Windows Large Cursors."
259+
ctgen configs/win_xl.build.toml -d "bitmaps/XCursor-Pro-Solarized-Dark" -n "XCursor-Pro-Solarized-Dark" -c "Solarized Dark Windows Extra Large Cursors."
268260
```
269261

270262
###### XCursor-Pro Solarized Light
271263

272264
```bash
273-
npx cbmp -d 'svg' -n 'XCursor-Pro-Solarized-Light' -bc '#839496' -oc '#002b36'
274-
ctgen build.toml -d 'bitmaps/XCursor-Pro-Solarized-Light' -n 'XCursor-Pro-Solarized-Light' -c 'Solarized Light XCursor-Pro cursors.'
265+
npx cbmp -d "svg" -o "bitmaps/XCursor-Pro-Solarized-Light" -bc "#839496" -oc "#002b36"
266+
267+
ctgen configs/x.build.toml -d "bitmaps/XCursor-Pro-Solarized-Light" -n "XCursor-Pro-Solarized-Light" -c "Solarized Light XCursors."
268+
ctgen configs/win_rg.build.toml -d "bitmaps/XCursor-Pro-Solarized-Light" -n "XCursor-Pro-Solarized-Light" -c "Solarized Light Windows Regular Cursors."
269+
ctgen configs/win_lg.build.toml -d "bitmaps/XCursor-Pro-Solarized-Light" -n "XCursor-Pro-Solarized-Light" -c "Solarized Light Windows Large Cursors."
270+
ctgen configs/win_xl.build.toml -d "bitmaps/XCursor-Pro-Solarized-Light" -n "XCursor-Pro-Solarized-Light" -c "Solarized Light Windows Extra Large Cursors."
275271
```
276272

277273
###### XCursor-Pro Dracula
278274

279275
```bash
280-
npx cbmp -d 'svg' -n 'XCursor-Pro-Dracula' -bc '#282a36' -oc '#f8f8f2'
281-
ctgen build.toml -d 'bitmaps/XCursor-Pro-Dracula' -n 'XCursor-Pro-Dracula' -c 'Dracula XCursor-Pro cursors.'
276+
npx cbmp -d "svg" -o "bitmaas/XCursor-Pro-Dracula" -bc "#282a36" -oc "#f8f8f2"
277+
278+
ctgen configs/x.build.toml -d "bitmaps/XCursor-Pro-Dracula" -n "XCursor-Pro-Dracula" -c "Dracula XCursors."
279+
ctgen configs/win_rg.build.toml -d "bitmaps/XCursor-Pro-Dracula" -n "XCursor-Pro-Dracula" -c "Dracula Windows Regular Cursors."
280+
ctgen configs/win_lg.build.toml -d "bitmaps/XCursor-Pro-Dracula" -n "XCursor-Pro-Dracula" -c "Dracula Windows Large Cursors."
281+
ctgen configs/win_xl.build.toml -d "bitmaps/XCursor-Pro-Dracula" -n "XCursor-Pro-Dracula" -c "Dracula Windows Extra Large Cursors."
282282
```
283283

284+
## Testing Cursor
285+
286+
There are several websites that allow you to test your cursor states by hovering over buttons. This can be very useful when developing or verifying the behavior of a cursor. The following websites cover many of the most commonly used cursors, although they may not include all available options.
287+
288+
- [Cursor-Test](https://vibhorjaiswal.github.io/Cursor-Test/)
289+
- [Mozilla CSS Cursor](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor)
290+
291+
For a blueprint for creating XCursors, you may also want to refer to [Cursor-demo](https://wiki.tcl-lang.org/page/Cursor+demo).
292+
284293
# Bugs
285294

286295
Bugs should be reported [here](https://github.com/ful1e5/XCursor-Pro/issues) on the Github issues page.

pling.txt

+8-9
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
XCursor Pro is modern, simple and elegant cursor theme for Linux ninja, Who are using barebone cursors for their Linux DE/WM. This cursor set is available for Linux and Windows.
22

3+
All XCursor-Pro cursors are meticulously crafted by hand and built using open-source tools, ensuring high quality and attention to detail. They are freely available for both Linux and Windows platforms and are distributed under an open-source license, allowing for widespread accessibility and customization.
4+
35
Check [url=https://github.com/ful1e5/XCursor-pro]README.md[/url] for installation, uninstallation, personalize cursor sizes or colors.
46

57
[b]Notice:[/b]
6-
Until 2021 my cursors projects were well funded by 'pling.com' but since the 'pling-factor' on the website has decreased and monthly payments are <500$, It is now dependent on community funding and sponsorships. If you want to help me to maintain XCursor-pro and my other open source projects actively, consider sponsoring my work on [url=https://github.com/sponsors/ful1e5]GitHub Sponsors[/url] or DM me on [url=https://twitter.com/ful1e5]Twitter[/url] if your company would like to support this project, I will gladly look into it and post your avatar in the README.
7-
8-
I appreciate all the wonderful people who patronize and sponsoring my work.
8+
Since the 'pling-factor' on the website has decreased and monthly payments are <500$, This project is now dependent on community funding and sponsorships. If you would like to help me maintain this project and my other open-source cursors actively, consider sponsoring just [i]1$/month[/i] or more on [url=https://github.com/sponsors/ful1e5]GitHub Sponsors[/url], I will gladly look into it and post your avatar in the README.
99

1010
[b]XCursor Sizes:[/b]
11-
22x22, 24x24, 28x28, 32x32, 40x40, 48x48, 56x56, 64x64, 72x72, 80x80, 88x88, 96x96
11+
16x16, 20x20, 22x22, 24x24, 28x28, 32x32, 40x40, 48x48, 56x56, 64x64, 72x72, 80x80, 88x88, 96x96
1212

1313
[b]Windows Cursor Size:[/b]
14-
- 16x16 - Small
15-
- 24x24 - Regular
16-
- 32x32 - Large
17-
- 48x48 - Extra Large
14+
- 22,32,43,64,86,171 - Regular
15+
- 26,39,52,77,103,205 - Large
16+
- 32,48,64,96,128,256 - Extra Large
1817

1918
[b]License & Terms:[/b]
20-
'XCursor-pro' is available under the terms of the 'GPL-3.0' license.
19+
'XCursor-Pro' is available under the terms of the 'GPL-3.0' license.

0 commit comments

Comments
 (0)