|
4 | 4 |
|
5 | 5 | [](https://github.com/ful1e5/XCursor-pro/actions/workflows/build.yml)
|
6 | 6 |
|
7 |
| -## XCursor-pro needs your Input |
| 7 | +## Notes |
8 | 8 |
|
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). |
15 | 10 |
|
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 --> |
17 | 13 |
|
18 |
| -## Sponsors |
| 14 | + |
19 | 15 |
|
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`. |
23 | 18 |
|
24 | 19 | ---
|
25 | 20 |
|
26 | 21 | 
|
27 | 22 | 
|
28 | 23 | 
|
29 | 24 |
|
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 |
| -
|
34 | 25 | ## Cursor Sizes
|
35 | 26 |
|
36 | 27 | ### Xcursor Sizes:
|
37 | 28 |
|
| 29 | +<kbd>16</kbd> |
| 30 | +<kbd>20</kbd> |
38 | 31 | <kbd>22</kbd>
|
39 | 32 | <kbd>24</kbd>
|
40 | 33 | <kbd>28</kbd>
|
|
50 | 43 |
|
51 | 44 | ### Windows Cursor Size:
|
52 | 45 |
|
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 | |
57 | 53 |
|
58 | 54 | ## Colors:
|
59 | 55 |
|
@@ -131,156 +127,169 @@ Run the `uninstall.bat` script packed with the `.zip` archive
|
131 | 127 |
|
132 | 128 | ## Build From Source
|
133 | 129 |
|
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 |
152 | 131 |
|
153 |
| -- [yarn](https://github.com/yarnpkg/yarn) |
154 |
| -- [clickgen](https://github.com/ful1e5/clickgen)>=2.1.2 (`pip install clickgen`) |
155 | 132 | - 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) |
156 | 135 |
|
157 | 136 | ### Quick start
|
158 | 137 |
|
159 |
| -1. Install [build prerequisites](#build-prerequisites) on your system |
| 138 | +1. Install [build prerequisites](#prerequisites) on your system |
160 | 139 | 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: |
163 | 150 |
|
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. |
165 | 153 |
|
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. |
169 | 155 |
|
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 |
173 | 157 |
|
174 |
| -#### `yarn build` aberration |
| 158 | +The process of creating custom cursor themes involves two main steps: |
175 | 159 |
|
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. |
177 | 170 |
|
178 | 171 | ```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>" |
182 | 173 | ```
|
183 | 174 |
|
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: |
185 | 176 |
|
186 |
| -#### Customize Sizes |
| 177 | +```bash |
| 178 | +npx cbmp render.json |
| 179 | +``` |
187 | 180 |
|
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 |
191 | 182 |
|
192 | 183 | ##### Customize Windows Cursor size
|
193 | 184 |
|
194 | 185 | To build Windows cursor with size `16`:
|
195 | 186 |
|
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 |
| -
|
200 | 187 | ```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" |
202 | 189 | ```
|
203 | 190 |
|
204 | 191 | You can also customize output directory with `-o` option:
|
205 | 192 |
|
206 | 193 | ```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" |
208 | 195 | ```
|
209 | 196 |
|
210 | 197 | ##### Customize XCursor size
|
211 | 198 |
|
212 | 199 | To build XCursor with size `16`:
|
213 | 200 |
|
214 | 201 | ```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" |
216 | 203 | ```
|
217 | 204 |
|
218 | 205 | You can also assign multiple sizes to `ctgen` for XCursors build:
|
219 | 206 |
|
220 | 207 | ```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" |
238 | 209 | ```
|
239 | 210 |
|
240 | 211 | #### Examples
|
241 | 212 |
|
242 |
| -Lets generate modern XCursor-Pro with green base color and black outline: |
| 213 | +Lets generate XCursor-Pro Cursor with green and black colors: |
243 | 214 |
|
244 | 215 | ```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" |
246 | 217 | ```
|
247 | 218 |
|
248 | 219 | After rendering custom color you have to build cursor through `ctgen`:
|
249 | 220 |
|
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 | + ``` |
253 | 237 |
|
254 | 238 | Afterwards, Generated theme can be found in the `themes` directory.
|
255 | 239 |
|
256 | 240 | ###### XCursor-Pro Gruvbox
|
257 | 241 |
|
258 | 242 | ```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." |
261 | 249 | ```
|
262 | 250 |
|
263 | 251 | ###### XCursor-Pro Solarized Dark
|
264 | 252 |
|
265 | 253 | ```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." |
268 | 260 | ```
|
269 | 261 |
|
270 | 262 | ###### XCursor-Pro Solarized Light
|
271 | 263 |
|
272 | 264 | ```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." |
275 | 271 | ```
|
276 | 272 |
|
277 | 273 | ###### XCursor-Pro Dracula
|
278 | 274 |
|
279 | 275 | ```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." |
282 | 282 | ```
|
283 | 283 |
|
| 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 | + |
284 | 293 | # Bugs
|
285 | 294 |
|
286 | 295 | Bugs should be reported [here](https://github.com/ful1e5/XCursor-Pro/issues) on the Github issues page.
|
|
0 commit comments