├── .github
├── FUNDING.yml
└── workflows
│ └── build.yml
├── package.json
├── render.json
├── svg
├── sb_left_arrow.svg
├── sb_right_arrow.svg
├── sb_up_arrow.svg
├── bottom_tee.svg
├── left_tee.svg
├── ul_angle.svg
├── ur_angle.svg
├── left_ptr.svg
├── right_ptr.svg
├── center_ptr.svg
├── plus.svg
├── bottom_left_corner.svg
├── bottom_right_corner.svg
├── sb_down_arrow.svg
├── right_tee.svg
├── sb_h_double_arrow.svg
├── top_tee.svg
├── left_side.svg
├── lr_angle.svg
├── ll_angle.svg
├── top_side.svg
├── sb_v_double_arrow.svg
├── cross.svg
├── context-menu.svg
├── dnd_no_drop.svg
├── all-scroll.svg
├── pencil.svg
├── dotbox.svg
├── X_cursor.svg
├── zoom-out.svg
├── link.svg
├── zoom-in.svg
├── pin.svg
├── wait
│ ├── wait-01.svg
│ ├── wait-21.svg
│ ├── wait-10.svg
│ ├── wait-02.svg
│ ├── wait-30.svg
│ ├── wait-40.svg
│ ├── wait-12.svg
│ ├── wait-20.svg
│ ├── wait-11.svg
│ ├── wait-31.svg
│ ├── wait-22.svg
│ ├── wait-32.svg
│ ├── wait-19.svg
│ ├── wait-06.svg
│ ├── wait-05.svg
│ ├── wait-07.svg
│ ├── wait-09.svg
│ ├── wait-14.svg
│ ├── wait-04.svg
│ ├── wait-24.svg
│ ├── wait-03.svg
│ ├── wait-08.svg
│ ├── wait-15.svg
│ ├── wait-16.svg
│ ├── wait-26.svg
│ ├── wait-28.svg
│ ├── wait-34.svg
│ ├── wait-36.svg
│ ├── wait-13.svg
│ ├── wait-17.svg
│ ├── wait-18.svg
│ ├── wait-29.svg
│ ├── wait-35.svg
│ ├── wait-37.svg
│ ├── wait-23.svg
│ ├── wait-25.svg
│ ├── wait-27.svg
│ ├── wait-33.svg
│ ├── wait-38.svg
│ └── wait-39.svg
├── crossed_circle.svg
├── copy.svg
├── vertical-text.svg
├── question_arrow.svg
├── xterm.svg
└── left_ptr_watch
│ └── left_ptr_watch-01.svg
├── pling.txt
├── CONTRIBUTING.md
├── .gitignore
├── configs
├── win_lg.build.toml
├── win_rg.build.toml
└── win_xl.build.toml
└── CODE_OF_CONDUCT.md
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | github: ful1e5
2 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "cbmp": "^1.1.1"
4 | },
5 | "scripts": {
6 | "clean": "rm -rf bin bitmaps themes",
7 | "render": "npx cbmp render.json",
8 | "build": "bash build.sh",
9 | "generate": "npx cbmp render.json && bash build.sh"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/render.json:
--------------------------------------------------------------------------------
1 | {
2 | "macOS": {
3 | "dir": "svg",
4 | "out": "bitmaps/macOS",
5 | "colors": [
6 | { "match": "#00FF00", "replace": "#000000" },
7 | { "match": "#0000FF", "replace": "#FFFFFF" }
8 | ]
9 | },
10 | "macOS-White": {
11 | "dir": "svg",
12 | "out": "bitmaps/macOS-White",
13 | "colors": [
14 | { "match": "#00FF00", "replace": "#FFFFFF" },
15 | { "match": "#0000FF", "replace": "#000000" }
16 | ]
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/svg/sb_left_arrow.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/svg/sb_right_arrow.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/svg/sb_up_arrow.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/svg/bottom_tee.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/svg/left_tee.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/svg/ul_angle.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/svg/ur_angle.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/svg/left_ptr.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/svg/right_ptr.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/svg/center_ptr.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/svg/plus.svg:
--------------------------------------------------------------------------------
1 |
20 |
--------------------------------------------------------------------------------
/pling.txt:
--------------------------------------------------------------------------------
1 | Open source macOS Cursors for `Windows` and `Linux` with _HiDPI Support_ .
2 |
3 | All macOS 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 |
5 | Check [url=https://github.com/ful1e5/apple_cursor]README.md[/url] for installation, uninstallation, personalize cursor sizes or colors.
6 |
7 | [b]Notice:[/b]
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.
9 |
10 | [b]XCursor Sizes:[/b]
11 | 16x16, 20x20, 22x22, 24x24, 28x28, 32x32, 40x40, 48x48, 56x56, 64x64, 72x72, 80x80, 88x88, 96x96
12 |
13 | [b]Windows Cursor Size:[/b]
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
17 |
18 | [b]License & Terms:[/b]
19 | 'apple_cursor' is available under the terms of the 'GPL-3.0' license.
20 |
--------------------------------------------------------------------------------
/svg/bottom_left_corner.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/svg/bottom_right_corner.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/svg/sb_down_arrow.svg:
--------------------------------------------------------------------------------
1 |
23 |
--------------------------------------------------------------------------------
/svg/right_tee.svg:
--------------------------------------------------------------------------------
1 |
23 |
--------------------------------------------------------------------------------
/svg/sb_h_double_arrow.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/svg/top_tee.svg:
--------------------------------------------------------------------------------
1 |
23 |
--------------------------------------------------------------------------------
/svg/left_side.svg:
--------------------------------------------------------------------------------
1 |
23 |
--------------------------------------------------------------------------------
/svg/lr_angle.svg:
--------------------------------------------------------------------------------
1 |
19 |
--------------------------------------------------------------------------------
/svg/ll_angle.svg:
--------------------------------------------------------------------------------
1 |
19 |
--------------------------------------------------------------------------------
/svg/top_side.svg:
--------------------------------------------------------------------------------
1 |
23 |
--------------------------------------------------------------------------------
/.github/workflows/build.yml:
--------------------------------------------------------------------------------
1 | name: build
2 |
3 | on:
4 | push:
5 | paths-ignore:
6 | - "**.md"
7 | - LICENSE
8 | - .github/FUNDING.yml
9 | branches: [main, dev]
10 | pull_request:
11 | paths-ignore:
12 | - "**.md"
13 | - LICENSE
14 | - .github/FUNDING.yml
15 | branches: [main]
16 |
17 | jobs:
18 | build:
19 | runs-on: ${{ matrix.os }}
20 | strategy:
21 | matrix:
22 | os: [ubuntu-latest]
23 | python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]
24 |
25 | steps:
26 | - uses: actions/checkout@v4
27 |
28 | - name: Setup node
29 | uses: actions/setup-node@v4
30 | with:
31 | node-version: 16
32 |
33 | - name: Installing Node Dependencies
34 | run: |
35 | rm -rf node_modules yarn.lock
36 | yarn install --frozen-lockfile
37 | continue-on-error: false
38 |
39 | - name: Print cbmp version
40 | run: npx cbmp --version
41 |
42 | - name: Rendering Bitmaps
43 | run: yarn render
44 | continue-on-error: false
45 |
46 | - name: Set up Python
47 | uses: actions/setup-python@v5
48 | with:
49 | python-version: 3.11
50 |
51 | - name: Installing PyPi Dependencies
52 | run: python -m pip install --upgrade pip clickgen
53 | continue-on-error: false
54 |
55 | - name: Print clickgen Version
56 | run: |
57 | clickgen --version
58 | ctgen --version
59 |
60 | - name: Build
61 | run: yarn build
62 |
--------------------------------------------------------------------------------
/svg/sb_v_double_arrow.svg:
--------------------------------------------------------------------------------
1 |
23 |
--------------------------------------------------------------------------------
/svg/cross.svg:
--------------------------------------------------------------------------------
1 |
19 |
--------------------------------------------------------------------------------
/svg/context-menu.svg:
--------------------------------------------------------------------------------
1 |
19 |
--------------------------------------------------------------------------------
/svg/dnd_no_drop.svg:
--------------------------------------------------------------------------------
1 |
29 |
--------------------------------------------------------------------------------
/svg/all-scroll.svg:
--------------------------------------------------------------------------------
1 |
24 |
--------------------------------------------------------------------------------
/svg/pencil.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/svg/dotbox.svg:
--------------------------------------------------------------------------------
1 |
24 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing to Apple Cursor
2 |
3 | I love your input! I want to make contributing to this project as easy and transparent as possible, whether it's:
4 |
5 | - Reporting a bug
6 | - Discussing the current state of the code
7 | - Submitting a fix
8 | - Proposing new features
9 | - Becoming a maintainer
10 |
11 | ## I Develop with Github
12 |
13 | I use GitHub to host code, to track **issues** and feature requests, as well as accept **pull requests**.
14 |
15 | ## I Use [Github Flow](https://guides.github.com/introduction/flow/index.html), So All Code Changes Happen Through Pull Requests
16 |
17 | Pull requests are the best way to propose changes to the codebase (I use [Github Flow](https://guides.github.com/introduction/flow/index.html)). I actively welcome your pull requests:
18 |
19 | 1. Fork the repo and create your branch from `main`.
20 | 2. If you've added code that should be tested, add tests.
21 | 3. If you've changed Look, update the documentation.
22 | 4. Issue that pull request!
23 |
24 | ## Any contributions you make will be under the GPL-3.0 Software License
25 |
26 | In short, when you submit code changes, your submissions are understood to be under the same [GPL-3.0 License](https://www.gnu.org/licenses/gpl-3.0.en.html) that covers the project. Feel free to contact the maintainers if that's a concern.
27 |
28 | ## Report bugs using Github's [issues](https://github.com/ful1e5/apple_cursor/issues)
29 |
30 | I use GitHub issues to track public bugs. Report a bug by opening a new issue, it's that easy!
31 |
32 | ## Write bug reports with detail, background, and sample code
33 |
34 | **Great Bug Reports** tend to have:
35 |
36 | - A quick summary and/or background
37 | - Steps to reproduce
38 | - Be specific!
39 | - Give sample code if you can.
40 | - What you expected would happen
41 | - What actually happens
42 | - Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)
43 |
44 | People _love_ thorough bug reports. I'm not even kidding.
45 |
46 | ## License
47 |
48 | By contributing, you agree that your contributions will be licensed under its `GPL-3.0` License.
49 |
50 | ## References
51 |
52 | This document was adapted from the open-source contribution guidelines for [Facebook's Draft](https://github.com/facebook/draft-js/blob/a9316a723f9e918afde44dea68b5f9f39b7d9b00/CONTRIBUTING.md)
53 |
54 | ## Contributors
55 |
56 | Become first contributor. 🤗
57 |
--------------------------------------------------------------------------------
/svg/X_cursor.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | themes
2 | bin
3 | bitmaps
4 |
5 | # --------------------------------------------- Nodejs
6 |
7 | # Logs
8 | logs
9 | *.log
10 | npm-debug.log*
11 | yarn-debug.log*
12 | yarn-error.log*
13 | lerna-debug.log*
14 |
15 | # Diagnostic reports (https://nodejs.org/api/report.html)
16 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
17 |
18 | # Runtime data
19 | pids
20 | *.pid
21 | *.seed
22 | *.pid.lock
23 |
24 | # Directory for instrumented libs generated by jscoverage/JSCover
25 | lib-cov
26 |
27 | # Coverage directory used by tools like istanbul
28 | coverage
29 | *.lcov
30 |
31 | # nyc test coverage
32 | .nyc_output
33 |
34 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
35 | .grunt
36 |
37 | # Bower dependency directory (https://bower.io/)
38 | bower_components
39 |
40 | # node-waf configuration
41 | .lock-wscript
42 |
43 | # Compiled binary addons (https://nodejs.org/api/addons.html)
44 | build/Release
45 |
46 | # Dependency directories
47 | node_modules/
48 | jspm_packages/
49 |
50 | # Snowpack dependency directory (https://snowpack.dev/)
51 | web_modules/
52 |
53 | # TypeScript cache
54 | *.tsbuildinfo
55 |
56 | # Optional npm cache directory
57 | .npm
58 |
59 | # Optional eslint cache
60 | .eslintcache
61 |
62 | # Microbundle cache
63 | .rpt2_cache/
64 | .rts2_cache_cjs/
65 | .rts2_cache_es/
66 | .rts2_cache_umd/
67 |
68 | # Optional REPL history
69 | .node_repl_history
70 |
71 | # Output of 'npm pack'
72 | *.tgz
73 |
74 | # Yarn Integrity file
75 | .yarn-integrity
76 |
77 | # dotenv environment variables file
78 | .env
79 | .env.test
80 |
81 | # parcel-bundler cache (https://parceljs.org/)
82 | .cache
83 | .parcel-cache
84 |
85 | # Next.js build output
86 | .next
87 | out
88 |
89 | # Nuxt.js build / generate output
90 | .nuxt
91 | dist
92 |
93 | # Gatsby files
94 | .cache/
95 | # Comment in the public line in if your project uses Gatsby and not Next.js
96 | # https://nextjs.org/blog/next-9-1#public-directory-support
97 | # public
98 |
99 | # vuepress build output
100 | .vuepress/dist
101 |
102 | # Serverless directories
103 | .serverless/
104 |
105 | # FuseBox cache
106 | .fusebox/
107 |
108 | # DynamoDB Local files
109 | .dynamodb/
110 |
111 | # TernJS port file
112 | .tern-port
113 |
114 | # Stores VSCode versions used for testing VSCode extensions
115 | .vscode-test
116 |
117 | # yarn v2
118 | .yarn/cache
119 | .yarn/unplugged
120 | .yarn/build-state.yml
121 | .yarn/install-state.gz
122 | .pnp.*
123 |
--------------------------------------------------------------------------------
/svg/zoom-out.svg:
--------------------------------------------------------------------------------
1 |
32 |
--------------------------------------------------------------------------------
/svg/link.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/configs/win_lg.build.toml:
--------------------------------------------------------------------------------
1 | [theme]
2 | name = 'macOS-Large'
3 | comment = 'macOS Large Windows cursors'
4 | website = 'https://github.com/ful1e5/apple_cursor'
5 |
6 | [config]
7 | bitmaps_dir = '' # This config will assigned with `ctgen -d `
8 | out_dir = '../themes'
9 | platforms = 'windows'
10 |
11 | [cursors]
12 | [cursors.fallback_settings]
13 | win_sizes = [26, 39, 52, 77, 103, 205]
14 | x_hotspot = 128
15 | y_hotspot = 128
16 | win_delay = 1
17 |
18 | [cursors.all-scroll]
19 | png = 'all-scroll.png'
20 | win_name = 'Move'
21 |
22 | [cursors.bottom_left_corner]
23 | png = 'bottom_left_corner.png'
24 | win_name = 'Dng2'
25 |
26 | [cursors.bottom_right_corner]
27 | png = 'bottom_right_corner.png'
28 | win_name = 'Dng1'
29 |
30 | [cursors.cross]
31 | png = 'cross.png'
32 | win_name = 'Cross'
33 |
34 | [cursors.crossed_circle]
35 | png = 'crossed_circle.png'
36 | x_hotspot = 56
37 | y_hotspot = 17
38 | win_name = 'Unavailiable'
39 |
40 | [cursors.hand1]
41 | png = 'hand1.png'
42 | x_hotspot = 134
43 | y_hotspot = 81
44 | win_name = 'Pan'
45 |
46 | [cursors.hand2]
47 | png = 'hand2.png'
48 | x_hotspot = 92
49 | y_hotspot = 53
50 | win_name = 'Link'
51 |
52 | [cursors.left_ptr]
53 | png = 'left_ptr.png'
54 | x_hotspot = 80
55 | y_hotspot = 38
56 | win_name = 'Pointer'
57 |
58 | [cursors.left_ptr_watch]
59 | png = 'left_ptr_watch-*.png'
60 | x_hotspot = 56
61 | y_hotspot = 17
62 | win_sizes = 77
63 | win_name = 'Work'
64 |
65 | [cursors.move]
66 | png = 'move.png'
67 | x_hotspot = 139
68 | y_hotspot = 86
69 | win_name = 'Grabbing'
70 |
71 | [cursors.pencil]
72 | png = 'pencil.png'
73 | x_hotspot = 37
74 | y_hotspot = 218
75 | win_name = 'Handwriting'
76 |
77 | [cursors.question_arrow]
78 | png = 'question_arrow.png'
79 | x_hotspot = 128
80 | y_hotspot = 169
81 | win_name = 'Help'
82 |
83 | [cursors.right_ptr]
84 | png = 'right_ptr.png'
85 | x_hotspot = 179
86 | y_hotspot = 40
87 | win_name = 'Alternate'
88 |
89 | [cursors.sb_h_double_arrow]
90 | png = 'sb_h_double_arrow.png'
91 | win_name = 'Horz'
92 |
93 | [cursors.sb_v_double_arrow]
94 | png = 'sb_v_double_arrow.png'
95 | win_name = 'Vert'
96 |
97 | [cursors.wait]
98 | png = 'wait-*.png'
99 | win_sizes = 77
100 | win_name = 'Busy'
101 |
102 | [cursors.xterm]
103 | png = 'xterm.png'
104 | x_hotspot = 129
105 | y_hotspot = 136
106 | win_name = 'Text'
107 |
108 | [cursors.zoom-in]
109 | png = 'zoom-in.png'
110 | x_hotspot = 99
111 | y_hotspot = 98
112 | win_name = 'Zoom-in'
113 |
114 | [cursors.zoom-out]
115 | png = 'zoom-out.png'
116 | x_hotspot = 99
117 | y_hotspot = 98
118 | win_name = 'Zoom-out'
119 |
120 | [cursors.person]
121 | png = 'person.png'
122 | x_hotspot = 56
123 | y_hotspot = 17
124 | win_name = 'Person'
125 |
126 | [cursors.pin]
127 | png = 'pin.png'
128 | x_hotspot = 56
129 | y_hotspot = 17
130 | win_name = 'Pin'
131 |
--------------------------------------------------------------------------------
/configs/win_rg.build.toml:
--------------------------------------------------------------------------------
1 | [theme]
2 | name = 'macOS-Regular'
3 | comment = 'macOS Regular Windows cursors'
4 | website = 'https://github.com/ful1e5/apple_cursor'
5 |
6 | [config]
7 | bitmaps_dir = '' # This config will assigned with `ctgen -d `
8 | out_dir = '../themes'
9 | platforms = 'windows'
10 |
11 | [cursors]
12 | [cursors.fallback_settings]
13 | win_sizes = [22, 32, 43, 64, 86, 171]
14 | x_hotspot = 128
15 | y_hotspot = 128
16 | win_delay = 1
17 |
18 | [cursors.all-scroll]
19 | png = 'all-scroll.png'
20 | win_name = 'Move'
21 |
22 | [cursors.bottom_left_corner]
23 | png = 'bottom_left_corner.png'
24 | win_name = 'Dng2'
25 |
26 | [cursors.bottom_right_corner]
27 | png = 'bottom_right_corner.png'
28 | win_name = 'Dng1'
29 |
30 | [cursors.cross]
31 | png = 'cross.png'
32 | win_name = 'Cross'
33 |
34 | [cursors.crossed_circle]
35 | png = 'crossed_circle.png'
36 | x_hotspot = 56
37 | y_hotspot = 17
38 | win_name = 'Unavailiable'
39 |
40 | [cursors.hand1]
41 | png = 'hand1.png'
42 | x_hotspot = 134
43 | y_hotspot = 81
44 | win_name = 'Pan'
45 |
46 | [cursors.hand2]
47 | png = 'hand2.png'
48 | x_hotspot = 92
49 | y_hotspot = 53
50 | win_name = 'Link'
51 |
52 | [cursors.left_ptr]
53 | png = 'left_ptr.png'
54 | x_hotspot = 80
55 | y_hotspot = 38
56 | win_name = 'Pointer'
57 |
58 | [cursors.left_ptr_watch]
59 | png = 'left_ptr_watch-*.png'
60 | x_hotspot = 56
61 | y_hotspot = 17
62 | win_sizes = 65
63 | win_name = 'Work'
64 |
65 | [cursors.move]
66 | png = 'move.png'
67 | x_hotspot = 139
68 | y_hotspot = 86
69 | win_name = 'Grabbing'
70 |
71 | [cursors.pencil]
72 | png = 'pencil.png'
73 | x_hotspot = 37
74 | y_hotspot = 218
75 | win_name = 'Handwriting'
76 |
77 | [cursors.question_arrow]
78 | png = 'question_arrow.png'
79 | x_hotspot = 128
80 | y_hotspot = 169
81 | win_name = 'Help'
82 |
83 | [cursors.right_ptr]
84 | png = 'right_ptr.png'
85 | x_hotspot = 179
86 | y_hotspot = 40
87 | win_name = 'Alternate'
88 |
89 | [cursors.sb_h_double_arrow]
90 | png = 'sb_h_double_arrow.png'
91 | win_name = 'Horz'
92 |
93 | [cursors.sb_v_double_arrow]
94 | png = 'sb_v_double_arrow.png'
95 | win_name = 'Vert'
96 |
97 | [cursors.wait]
98 | png = 'wait-*.png'
99 | win_sizes = 65
100 | win_name = 'Busy'
101 |
102 | [cursors.xterm]
103 | png = 'xterm.png'
104 | x_hotspot = 129
105 | y_hotspot = 136
106 | win_name = 'Text'
107 |
108 | [cursors.zoom-in]
109 | png = 'zoom-in.png'
110 | x_hotspot = 99
111 | y_hotspot = 98
112 | win_name = 'Zoom-in'
113 |
114 | [cursors.zoom-out]
115 | png = 'zoom-out.png'
116 | x_hotspot = 99
117 | y_hotspot = 98
118 | win_name = 'Zoom-out'
119 |
120 | [cursors.person]
121 | png = 'person.png'
122 | x_hotspot = 56
123 | y_hotspot = 17
124 | win_name = 'Person'
125 |
126 | [cursors.pin]
127 | png = 'pin.png'
128 | x_hotspot = 56
129 | y_hotspot = 17
130 | win_name = 'Pin'
131 |
--------------------------------------------------------------------------------
/configs/win_xl.build.toml:
--------------------------------------------------------------------------------
1 | [theme]
2 | name = 'macOS-Extra-Large'
3 | comment = 'macOS Extra Large Windows cursors'
4 | website = 'https://github.com/ful1e5/apple_cursor'
5 |
6 | [config]
7 | bitmaps_dir = '' # This config will assigned with `ctgen -d `
8 | out_dir = '../themes'
9 | platforms = 'windows'
10 |
11 | [cursors]
12 | [cursors.fallback_settings]
13 | win_sizes = [32, 48, 64, 96, 128, 256]
14 | x_hotspot = 128
15 | y_hotspot = 128
16 | win_delay = 1
17 |
18 | [cursors.all-scroll]
19 | png = 'all-scroll.png'
20 | win_name = 'Move'
21 |
22 | [cursors.bottom_left_corner]
23 | png = 'bottom_left_corner.png'
24 | win_name = 'Dng2'
25 |
26 | [cursors.bottom_right_corner]
27 | png = 'bottom_right_corner.png'
28 | win_name = 'Dng1'
29 |
30 | [cursors.cross]
31 | png = 'cross.png'
32 | win_name = 'Cross'
33 |
34 | [cursors.crossed_circle]
35 | png = 'crossed_circle.png'
36 | x_hotspot = 56
37 | y_hotspot = 17
38 | win_name = 'Unavailiable'
39 |
40 | [cursors.hand1]
41 | png = 'hand1.png'
42 | x_hotspot = 134
43 | y_hotspot = 81
44 | win_name = 'Pan'
45 |
46 | [cursors.hand2]
47 | png = 'hand2.png'
48 | x_hotspot = 92
49 | y_hotspot = 53
50 | win_name = 'Link'
51 |
52 | [cursors.left_ptr]
53 | png = 'left_ptr.png'
54 | x_hotspot = 80
55 | y_hotspot = 38
56 | win_name = 'Pointer'
57 |
58 | [cursors.left_ptr_watch]
59 | png = 'left_ptr_watch-*.png'
60 | x_hotspot = 56
61 | y_hotspot = 17
62 | win_sizes = 64
63 | win_name = 'Work'
64 |
65 | [cursors.move]
66 | png = 'move.png'
67 | x_hotspot = 139
68 | y_hotspot = 86
69 | win_name = 'Grabbing'
70 |
71 | [cursors.pencil]
72 | png = 'pencil.png'
73 | x_hotspot = 37
74 | y_hotspot = 218
75 | win_name = 'Handwriting'
76 |
77 | [cursors.question_arrow]
78 | png = 'question_arrow.png'
79 | x_hotspot = 128
80 | y_hotspot = 169
81 | win_name = 'Help'
82 |
83 | [cursors.right_ptr]
84 | png = 'right_ptr.png'
85 | x_hotspot = 179
86 | y_hotspot = 40
87 | win_name = 'Alternate'
88 |
89 | [cursors.sb_h_double_arrow]
90 | png = 'sb_h_double_arrow.png'
91 | win_name = 'Horz'
92 |
93 | [cursors.sb_v_double_arrow]
94 | png = 'sb_v_double_arrow.png'
95 | win_name = 'Vert'
96 |
97 | [cursors.wait]
98 | png = 'wait-*.png'
99 | win_sizes = 64
100 | win_name = 'Busy'
101 |
102 | [cursors.xterm]
103 | png = 'xterm.png'
104 | x_hotspot = 129
105 | y_hotspot = 136
106 | win_name = 'Text'
107 |
108 | [cursors.zoom-in]
109 | png = 'zoom-in.png'
110 | x_hotspot = 99
111 | y_hotspot = 98
112 | win_name = 'Zoom-in'
113 |
114 | [cursors.zoom-out]
115 | png = 'zoom-out.png'
116 | x_hotspot = 99
117 | y_hotspot = 98
118 | win_name = 'Zoom-out'
119 |
120 | [cursors.person]
121 | png = 'person.png'
122 | x_hotspot = 56
123 | y_hotspot = 17
124 | win_name = 'Person'
125 |
126 | [cursors.pin]
127 | png = 'pin.png'
128 | x_hotspot = 56
129 | y_hotspot = 17
130 | win_name = 'Pin'
131 |
--------------------------------------------------------------------------------
/svg/zoom-in.svg:
--------------------------------------------------------------------------------
1 |
33 |
--------------------------------------------------------------------------------
/svg/pin.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-01.svg:
--------------------------------------------------------------------------------
1 |
35 |
--------------------------------------------------------------------------------
/svg/wait/wait-21.svg:
--------------------------------------------------------------------------------
1 |
35 |
--------------------------------------------------------------------------------
/svg/wait/wait-10.svg:
--------------------------------------------------------------------------------
1 |
35 |
--------------------------------------------------------------------------------
/svg/wait/wait-02.svg:
--------------------------------------------------------------------------------
1 |
35 |
--------------------------------------------------------------------------------
/svg/wait/wait-30.svg:
--------------------------------------------------------------------------------
1 |
35 |
--------------------------------------------------------------------------------
/svg/wait/wait-40.svg:
--------------------------------------------------------------------------------
1 |
35 |
--------------------------------------------------------------------------------
/svg/wait/wait-12.svg:
--------------------------------------------------------------------------------
1 |
35 |
--------------------------------------------------------------------------------
/svg/wait/wait-20.svg:
--------------------------------------------------------------------------------
1 |
35 |
--------------------------------------------------------------------------------
/svg/wait/wait-11.svg:
--------------------------------------------------------------------------------
1 |
35 |
--------------------------------------------------------------------------------
/svg/wait/wait-31.svg:
--------------------------------------------------------------------------------
1 |
35 |
--------------------------------------------------------------------------------
/svg/wait/wait-22.svg:
--------------------------------------------------------------------------------
1 |
35 |
--------------------------------------------------------------------------------
/svg/wait/wait-32.svg:
--------------------------------------------------------------------------------
1 |
35 |
--------------------------------------------------------------------------------
/svg/crossed_circle.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-19.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-06.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-05.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-07.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-09.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-14.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-04.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-24.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-03.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-08.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-15.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-16.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-26.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-28.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-34.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-36.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-13.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-17.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-18.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-29.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-35.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-37.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-23.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-25.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-27.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-33.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-38.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/wait/wait-39.svg:
--------------------------------------------------------------------------------
1 |
40 |
--------------------------------------------------------------------------------
/svg/copy.svg:
--------------------------------------------------------------------------------
1 |
52 |
--------------------------------------------------------------------------------
/svg/vertical-text.svg:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/svg/question_arrow.svg:
--------------------------------------------------------------------------------
1 |
20 |
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | In the interest of fostering an open and welcoming environment, we as
6 | contributors and maintainers pledge to making participation in our project and
7 | our community a harassment-free experience for everyone, regardless of age, body
8 | size, disability, ethnicity, sex characteristics, gender identity and expression,
9 | level of experience, education, socio-economic status, nationality, personal
10 | appearance, race, religion, or sexual identity and orientation.
11 |
12 | ## Our Standards
13 |
14 | Examples of behavior that contributes to creating a positive environment
15 | include:
16 |
17 | * Using welcoming and inclusive language
18 | * Being respectful of differing viewpoints and experiences
19 | * Gracefully accepting constructive criticism
20 | * Focusing on what is best for the community
21 | * Showing empathy towards other community members
22 |
23 | Examples of unacceptable behavior by participants include:
24 |
25 | * The use of sexualized language or imagery and unwelcome sexual attention or
26 | advances
27 | * Trolling, insulting/derogatory comments, and personal or political attacks
28 | * Public or private harassment
29 | * Publishing others' private information, such as a physical or electronic
30 | address, without explicit permission
31 | * Other conduct which could reasonably be considered inappropriate in a
32 | professional setting
33 |
34 | ## Our Responsibilities
35 |
36 | Project maintainers are responsible for clarifying the standards of acceptable
37 | behavior and are expected to take appropriate and fair corrective action in
38 | response to any instances of unacceptable behavior.
39 |
40 | Project maintainers have the right and responsibility to remove, edit, or
41 | reject comments, commits, code, wiki edits, issues, and other contributions
42 | that are not aligned to this Code of Conduct, or to ban temporarily or
43 | permanently any contributor for other behaviors that they deem inappropriate,
44 | threatening, offensive, or harmful.
45 |
46 | ## Scope
47 |
48 | This Code of Conduct applies both within project spaces and in public spaces
49 | when an individual is representing the project or its community. Examples of
50 | representing a project or community include using an official project e-mail
51 | address, posting via an official social media account, or acting as an appointed
52 | representative at an online or offline event. Representation of a project may be
53 | further defined and clarified by project maintainers.
54 |
55 | ## Enforcement
56 |
57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be
58 | reported by contacting the project team at kaizmandhu@gmail.com. All
59 | complaints will be reviewed and investigated and will result in a response that
60 | is deemed necessary and appropriate to the circumstances. The project team is
61 | obligated to maintain confidentiality with regard to the reporter of an incident.
62 | Further details of specific enforcement policies may be posted separately.
63 |
64 | Project maintainers who do not follow or enforce the Code of Conduct in good
65 | faith may face temporary or permanent repercussions as determined by other
66 | members of the project's leadership.
67 |
68 | ## Attribution
69 |
70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72 |
73 | [homepage]: https://www.contributor-covenant.org
74 |
75 | For answers to common questions about this code of conduct, see
76 | https://www.contributor-covenant.org/faq
77 |
--------------------------------------------------------------------------------
/svg/xterm.svg:
--------------------------------------------------------------------------------
1 |
23 |
--------------------------------------------------------------------------------
/svg/left_ptr_watch/left_ptr_watch-01.svg:
--------------------------------------------------------------------------------
1 |
67 |
--------------------------------------------------------------------------------