Skip to content

ful1e5/apple_cursor

Repository files navigation

Apple Cursor

Apple Cursor

Open source macOS Cursors for Windows and Linux with HiDPI Support .

Build

Notes

  • All cursor's SVG files are found in svg directory or you can also find them on Figma.

shoutout-sponsors

  • 2024-04-26: c684a72e967b58d85492fae5fa68040beae47c10 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: 07767c24b0c5dbf912cf37350b86adc11671a18e bitmaps directory removed, and macOS Monterey cursors deprecated.

macOS macOS white

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
128 85.333 → 86 102.4 → 103 128
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:

  1. Unzip .zip file
  2. Open unziped directory in Explorer, and right click on install.inf.
  3. Click 'Install' from the context menu, and authorize the modifications to your system.
  4. Open Control Panel > Personalization and Appearance > Change mouse pointers, and select macOS Cursors.
  5. Click 'Apply'.

Uninstallation:

Run the uninstall.bat script packed with the .zip archive

OR follow these steps:

  1. Go to Registry Editor by typing the same in the start search box.
  2. Expand HKEY_CURRENT_USER folder and expand Control Panel folder.
  3. Go to Cursors folder and click on Schemes folder - all the available custom cursors that are installed will be listed here.
  4. Right Click on the name of cursor file you want to uninstall; for eg.: macOS Cursors and click Delete.
  5. Click 'yes' when prompted.

Build From Source

Prerequisites

  • Python version 3.7 or higher
  • clickgen>=2.2.2 (pip install clickgen)
  • yarn

Quick start

  1. Install build prerequisites on your system
  2. git clone https://github.com/ful1e5/apple_cursor
  3. cd apple_cursor
  4. yarn install
  5. yarn generate
  6. 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:

  1. Rendering SVG files to PNG files.
  2. Building cursor themes from PNG files.

Customize Colors

cbmp provides three options for changing colors:

  1. -bc: Base color, which replaces the #00FF00 color in the SVG.
  2. -oc: Outlined color, which replaces the #0000FF color in the SVG.
  3. -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 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 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 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 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 build.toml -d "bitmaps/macOS-Hacker" -n "macOS-Hacker" -c "Green and Black macOS 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 build.toml -d "bitmaps/macOS-Gruvbox" -n "macOS-Gruvbox" -c "Groovy macOS cursors."
macOS Solarized Dark
npx cbmp -d "svg" -o "bitmaps/macOS-Solarized-Dark" -bc "#002b36" -oc "#839496" -wc "#000000"
ctgen build.toml -d "bitmaps/macOS-Solarized-Dark" -n "macOS-Solarized-Dark" -c "Solarized Dark macOS cursors."
macOS Solarized Light
npx cbmp -d "svg" -o "bitmaps/macOS-Solarized-Light" -bc "#839496" -oc "#002b36"
ctgen build.toml -d "bitmaps/macOS-Solarized-Light" -n "macOS-Solarized-Light" -c "Solarized Light macOS cursors."
macOS Dracula
npx cbmp -d "svg" -o "bitmaas/macOS-Dracula" -bc "#282a36" -oc "#f8f8f2"
ctgen build.toml -d "bitmaps/macOS-Dracula" -n "macOS-Dracula" -c "Dracula macOS 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.

Credit

Adwaita · Dmz · Yaru