.github | ||
configs | ||
svg | ||
.gitignore | ||
build.sh | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
package.json | ||
pling.txt | ||
README.md | ||
render.json | ||
yarn.lock |
Apple Cursor
Open source macOS Cursors for Windows
and Linux
with HiDPI Support.
Notes
- 2024-04-26: c684a72 Partitioned cursor build configuration into multiple files according to platform:
build.toml
->configs/win_lg.build.toml
,configs/win_rg.build.toml
,configs/win_xl.build.toml
,configs/x.build.toml
. - 2024-02-23: 07767c2
bitmaps
directory removed, andmacOS Monterey
cursors deprecated.
Cursor Sizes
Xcursor Sizes:
16 20 22 24 28 32 40 48 56 64 72 80 88 96
Windows Cursor Size:
size | Regular (× ²⁄₃) | Large (× ⁴⁄₅) | Extra-Large (× 1) |
---|---|---|---|
32 | 21.333 → 22 | 25.6 → 26 | 32 |
48 | 32 | 38.4 → 39 | 48 |
64 | 42.666 → 43 | 51.2 → 52 | 64 |
96 | 64 | 76.8 → 77 | 96 |
256 | 170.666 → 171 | 204.8 → 205 | 256 |
Colors
Default
- Base Color -
#000000
(Black) - Outline Color -
#FFFFFF
(White)
White
- Base Color -
#FFFFFF
(White) - Outline Color -
#000000
(Black)
How to get it
You can download latest stable
& development
releases from
Release Page.
Packages
Note
If you're having trouble with the packages please submit a request to the package maintainer before creating an issue.
Arch Linux/Manjaro
Arch Linux/Manjaro users can install from the AUR currently maintained by ful1e5 & Grelek . Can be installed via Pamac (preinstalled in Manjaro), Paru or any other AUR helper.
paru -S apple_cursor
Installing Apple Cursor
Linux/X11
Installation:
tar -xvf macOS.tar.gz # extract `.tar.gz`
mv macOS* ~/.icons/ # Install to local users
sudo mv macOS* /usr/share/icons/ # Install to all users
Uninstallation:
rm ~/.icons/macOS* # Remove from local users
sudo rm /usr/share/icons/macOS* # Remove from all users
Windows
Installation:
- Unzip
.zip
file - Open unziped directory in Explorer, and right click on
install.inf
. - Click 'Install' from the context menu, and authorize the modifications to your system.
- Open Control Panel > Personalization and Appearance > Change mouse pointers, and select macOS Cursors.
- Click 'Apply'.
Uninstallation:
Run the uninstall.bat
script packed with the .zip
archive
OR follow these steps:
- Go to Registry Editor by typing the same in the start search box.
- Expand
HKEY_CURRENT_USER
folder and expandControl Panel
folder. - Go to
Cursors
folder and click onSchemes
folder - all the available custom cursors that are installed will be listed here. - Right Click on the name of cursor file you want to uninstall; for eg.: macOS Cursors and
click
Delete
. - Click 'yes' when prompted.
Build From Source
Prerequisites
Quick start
- Install build prerequisites on your system
git clone https://github.com/ful1e5/apple_cursor
cd apple_cursor
yarn install
yarn generate
- See Installing Apple Cursor.
Getting Started
Once you have the build prerequisites installed, You can personalize colors, customize sizes, change target platforms, and more. This process involves using external tools, as this repository only contains SVG files and configuration for these tools:
- cbmp: Used for customizing colors and generating PNG files.
- ctgen: Used for customizing sizes and building XCursor and Windows Cursors.
You can refer to the README of each tool for more information on their command-line options.
Crafting Your Apple Cursor
The process of creating custom cursor themes involves two main steps:
- Rendering SVG files to PNG files.
- Building cursor themes from PNG files.
Customize Colors
cbmp
provides three options for changing colors:
-bc
: Base color, which replaces the#00FF00
color in the SVG.-oc
: Outlined color, which replaces the#0000FF
color in the SVG.-wc
(optional): Watch Background color, which replaces the#FF0000
color in the SVG.
npx cbmp [...] -bc '<hex>' -oc '<hex>' -wc '<hex>'
Alternatively, you can provide a JSON configuration file to render SVG files, which contains a sequence of cbmp
commands:
npx cbmp render.json
Customize Sizes
Customize Windows Cursor size
To build Windows cursor with size 16
:
ctgen configs/win_rg.build.toml -s 16 -p windows -d "bitmaps/macOS" -n "macOS" -c "macOS Cursors with size 16"
You can also customize output directory with -o
option:
ctgen configs/win_rg.build.toml -s 16 -p windows -d "bitmaps/macOS" -o "out" -n "macOS" -c "macOS Cursors with size 16"
Customize XCursor size
To build XCursor with size 16
:
ctgen configs/x.build.toml -s 16 -p x11 -d "bitmaps/macOS" -n "macOS" -c "macOS XCursors with size 16"
You can also assign multiple sizes to ctgen
for XCursors build:
ctgen configs/x.build.toml -s 16 24 32 -p x11 -d "bitmaps/macOS" -n "macOS" -c "Custom Sizes macOS XCursors"
Examples
Lets generate macOS cursor with green and black colors:
npx cbmp -d "svg" -o "bitmaps/macOS-Hacker" -bc "#00FE00" -oc "#000000"
After rendering custom color you have to build cursor through ctgen
:
ctgen configs/x.build.toml -d "bitmaps/macOS-Hacker" -n "macOS-Hacker" -c "Green and Black macOS cursors."
ctgen configs/win_rg.build.toml -d "bitmaps/macOS-Hacker" -n "macOS-Hacker" -c "Green and Black macOS Regular Windows Cursors."
ctgen configs/win_lg.build.toml -d "bitmaps/macOS-Hacker" -n "macOS-Hacker" -c "Green and Black macOS Large Windows Cursors."
ctgen configs/win_xl.build.toml -d "bitmaps/macOS-Hacker" -n "macOS-Hacker" -c "Green and Black macOS Extra Large Windows Cursors."
Afterwards, Generated theme can be found in the themes
directory.
macOS Gruvbox
npx cbmp -d "svg" -o "bitmaps/macOS-Gruvbox" -bc "#282828" -oc "#EBDBB2" -wc "#000000"
ctgen configs/x.build.toml -d "bitmaps/macOS-Gruvbox" -n "macOS-Gruvbox" -c "Groovy macOS XCursors."
ctgen configs/win_rg.build.toml -d "bitmaps/macOS-Gruvbox" -n "macOS-Gruvbox" -c "Groovy macOS Windows Regular Cursors."
ctgen configs/win_lg.build.toml -d "bitmaps/macOS-Gruvbox" -n "macOS-Gruvbox" -c "Groovy macOS Windows Large Cursors."
ctgen configs/win_xl.build.toml -d "bitmaps/macOS-Gruvbox" -n "macOS-Gruvbox" -c "Groovy macOS Windows Extra Large Cursors."
macOS Solarized Dark
npx cbmp -d "svg" -o "bitmaps/macOS-Solarized-Dark" -bc "#002b36" -oc "#839496" -wc "#000000"
ctgen configs/x.build.toml -d "bitmaps/macOS-Solarized-Dark" -n "macOS-Solarized-Dark" -c "Solarized Dark macOS XCursors."
ctgen configs/win_rg.build.toml -d "bitmaps/macOS-Solarized-Dark" -n "macOS-Solarized-Dark" -c "Solarized Dark macOS Regular Windows Cursors."
ctgen configs/win_lg.build.toml -d "bitmaps/macOS-Solarized-Dark" -n "macOS-Solarized-Dark" -c "Solarized Dark macOS Regular Large Cursors."
ctgen configs/win_xl.build.toml -d "bitmaps/macOS-Solarized-Dark" -n "macOS-Solarized-Dark" -c "Solarized Dark macOS Regular Extra Large Cursors."
macOS Solarized Light
npx cbmp -d "svg" -o "bitmaps/macOS-Solarized-Light" -bc "#839496" -oc "#002b36"
ctgen configs/x.build.toml -d "bitmaps/macOS-Solarized-Light" -n "macOS-Solarized-Light" -c "Solarized Light macOS XCursors."
ctgen configs/win_rg.build.toml -d "bitmaps/macOS-Solarized-Light" -n "macOS-Solarized-Light" -c "Solarized Light macOS Regular Windows Cursors."
ctgen configs/win_lg.build.toml -d "bitmaps/macOS-Solarized-Light" -n "macOS-Solarized-Light" -c "Solarized Light macOS Large Windows Cursors."
ctgen configs/win_xl.build.toml -d "bitmaps/macOS-Solarized-Light" -n "macOS-Solarized-Light" -c "Solarized Light macOS Extra Large Windows Cursors."
macOS Dracula
npx cbmp -d "svg" -o "bitmaas/macOS-Dracula" -bc "#282a36" -oc "#f8f8f2"
ctgen configs/x.build.toml -d "bitmaps/macOS-Dracula" -n "macOS-Dracula" -c "Dracula macOS XCursors."
ctgen configs/win_rg.build.toml -d "bitmaps/macOS-Dracula" -n "macOS-Dracula" -c "Dracula macOS Regular Windows Cursors."
ctgen configs/win_lg.build.toml -d "bitmaps/macOS-Dracula" -n "macOS-Dracula" -c "Dracula macOS Large Windows Cursors."
ctgen configs/win_xl.build.toml -d "bitmaps/macOS-Dracula" -n "macOS-Dracula" -c "Dracula macOS Extra Large Windows Cursors."
Testing Cursor
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.
For a blueprint for creating XCursors, you may also want to refer to Cursor-demo.