{"id":13751698,"url":"https://github.com/ful1e5/fuchsia-cursor","last_synced_at":"2025-10-19T17:04:19.160Z","repository":{"id":44729803,"uuid":"379270862","full_name":"ful1e5/fuchsia-cursor","owner":"ful1e5","description":"First OpenSource port of FuchsiaOS's cursors for Linux and Windows.","archived":false,"fork":false,"pushed_at":"2024-08-14T04:52:50.000Z","size":3009,"stargazers_count":97,"open_issues_count":3,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-06T12:11:23.076Z","etag":null,"topics":["cursors","fuchsia-os","google","linux","windows"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ful1e5.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"ful1e5"}},"created_at":"2021-06-22T13:00:24.000Z","updated_at":"2025-01-31T07:06:15.000Z","dependencies_parsed_at":"2024-07-27T11:27:42.123Z","dependency_job_id":"7fd54f20-21ae-4b0b-8fa1-efc2ef18e24f","html_url":"https://github.com/ful1e5/fuchsia-cursor","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ful1e5%2Ffuchsia-cursor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ful1e5%2Ffuchsia-cursor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ful1e5%2Ffuchsia-cursor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ful1e5%2Ffuchsia-cursor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ful1e5","download_url":"https://codeload.github.com/ful1e5/fuchsia-cursor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238320249,"owners_count":19452510,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cursors","fuchsia-os","google","linux","windows"],"created_at":"2024-08-03T09:00:52.402Z","updated_at":"2025-10-19T17:04:19.084Z","avatar_url":"https://github.com/ful1e5.png","language":"Shell","readme":"![Fuchsia](https://github.com/ful1e5/fuchsia-cursor/assets/24286590/68223b08-7020-4cb6-8d97-090bacef62d6)\n\nFirst open source port of [FuchsiaOS](https://fuchsia.dev/)'s cursors for **Linux** and **Windows**.\n\n[![build](https://github.com/ful1e5/fuchsia-cursor/actions/workflows/build.yml/badge.svg)](https://github.com/ful1e5/fuchsia-cursor/actions)\n\n## Notes\n\n-   All cursor's SVG files are found in [svg](./svg) directory or you can also find them on [Figma](https://www.figma.com/design/jPmS71GFhBN4NUTZx4VHbg/Fuchsia-Cursor?node-id=0-1\u0026t=QIgHaHw4N75yeUkU-1).\n\n\u003c!-- If you're interested, you can learn more about \"sponsor-spotlight\" on\n https://dev.to/ful1e5/lets-give-recognition-to-those-supporting-our-work-on-github-sponsors-b00 --\u003e\n\n![shoutout-sponsors](https://sponsor-spotlight.vercel.app/sponsor?login=ful1e5)\n\n-   **2024-06-24**: [f3ca511](https://github.com/ful1e5/fuchsia-cursor/commit/f3ca5116adc9c428e56e248758d11d8d8cfaf682) Partitioned cursor build configuration into multiple files according to platform:\n    `build.toml` -\u003e `configs/win_lg.build.toml`, `configs/win_rg.build.toml`, `configs/win_xl.build.toml`, `configs/x.build.toml`.\n\n---\n\n![Fuchsia](https://github.com/ful1e5/fuchsia-cursor/assets/24286590/11dc68d3-fc78-4481-a829-2d05add9833a)\n![Fuchsia-Amber](https://github.com/ful1e5/fuchsia-cursor/assets/24286590/49213cb0-be9d-4159-8929-0fd5fcd8aee4)\n![Fuchsia-Red](https://github.com/ful1e5/fuchsia-cursor/assets/24286590/9d0b8668-6a0d-4176-a64c-1f7982926425)\n![Fuchsia-Pop!](https://github.com/ful1e5/fuchsia-cursor/assets/24286590/f53f5edd-67f3-4d56-97f3-bb80677a277a)\n\n## Cursor Sizes\n\n### Xcursor Sizes:\n\n\u003ckbd\u003e16\u003c/kbd\u003e\n\u003ckbd\u003e20\u003c/kbd\u003e\n\u003ckbd\u003e22\u003c/kbd\u003e\n\u003ckbd\u003e24\u003c/kbd\u003e\n\u003ckbd\u003e28\u003c/kbd\u003e\n\u003ckbd\u003e32\u003c/kbd\u003e\n\u003ckbd\u003e40\u003c/kbd\u003e\n\u003ckbd\u003e48\u003c/kbd\u003e\n\u003ckbd\u003e56\u003c/kbd\u003e\n\u003ckbd\u003e64\u003c/kbd\u003e\n\u003ckbd\u003e72\u003c/kbd\u003e\n\u003ckbd\u003e80\u003c/kbd\u003e\n\u003ckbd\u003e88\u003c/kbd\u003e\n\u003ckbd\u003e96\u003c/kbd\u003e\n\n### Windows Cursor Size:\n\n| size | Regular (× ²⁄₃) | Large (× ⁴⁄₅) | Extra-Large (× 1) |\n| ---: | --------------: | ------------: | ----------------: |\n|   32 |     21.333 → 22 |     25.6 → 26 |                32 |\n|   48 |              32 |     38.4 → 39 |                48 |\n|   64 |     42.666 → 43 |     51.2 → 52 |                64 |\n|   96 |              64 |     76.8 → 77 |                96 |\n|  128 |     85.333 → 86 |   102.4 → 103 |               128 |\n\n## Colors\n\n### Fuchsia\n\n-   Outline Color - `#FFFFFF` (White)\n-   Base Color - `#E11C79` (Fuchsia)\n\n### Fuchsia Amber\n\n-   Outline Color - `#FFFFFF` (White)\n-   Base Color - `#FFA400` (Amber)\n\n### Fuchsia Red\n\n-   Outline Color - `#FFFFFF` (White)\n-   Base Color - `#FF0000` (Red)\n\n### Fuchsia Pop!\n\n-   Outline Color - `#FFFFFF` (White)\n-   Base Color - `#F8B572` (PopOS Orange)\n\n## How to get it\n\n### Easiest Way\n\nYou can download latest `stable` \u0026 `development` releases from\n[Release Page](https://github.com/ful1e5/fuchsia-cursor/releases).\n\n## Installing Fuchsia Cursor\n\n#### Linux/X11\n\n**Installation:**\n\n```bash\ntar -xvf Fuchsia.tar.gz                   # extract `Fuchsia.tar.gz`\nmv Fuchsia ~/.icons/                      # Install to local users\nsudo mv Fuchsia /usr/share/icons/         # Install to all users\n```\n\n**Uninstallation:**\n\n```bash\nrm ~/.icons/Fuchsia                       # Remove from local users\nsudo rm /usr/share/icons/Fuchsia          # Remove from all users\n```\n\n#### Windows\n\n**Installation:**\n\n1. Unzip `.zip` file\n2. Open unziped directory in Explorer, and **right click** on `install.inf`.\n3. Click 'Install' from the context menu, and authorize the modifications to your system.\n4. Open Control Panel \u003e Personalization and Appearance \u003e Change mouse pointers,\n   and select **Fuchsia Cursors**.\n5. Click '**Apply**'.\n\n**Uninstallation:**\n\nRun the `uninstall.bat` script packed with the `.zip` archive\n\n**OR** follow these steps:\n\n1. Go to **Registry Editor** by typing the same in the _start search box_.\n2. Expand `HKEY_CURRENT_USER` folder and expand `Control Panel` folder.\n3. Go to `Cursors` folder and click on `Schemes` folder - all the available custom cursors that are\n   installed will be listed here.\n4. **Right Click** on the name of cursor file you want to uninstall; for eg.: _Fuchsia Cursors_ and\n   click `Delete`.\n5. Click '**yes**' when prompted.\n\n## Build From Source\n\n### Prerequisites\n\n-   Python version 3.7 or higher\n-   [clickgen](https://github.com/ful1e5/clickgen)\u003e=2.2.5 (`pip install clickgen`)\n-   [yarn](https://github.com/yarnpkg/yarn)\n\n### Quick start\n\n1. Install [build prerequisites](#prerequisites) on your system\n2. `git clone https://github.com/ful1e5/fuchsia-cursor`\n3. `cd fuchsia-cursor`\n4. `yarn install`\n5. `yarn generate`\n6. See [Installing Fuchsia Cursor](#installing-fuchsia-cursor).\n\n### Getting Started\n\nOnce you have the [build prerequisites](#prerequisites) installed, You can personalize colors,\ncustomize sizes, change target platforms, and more. This process involves using external tools,\nas this repository only contains SVG files and configuration for these tools:\n\n-   [cbmp](https://github.com/ful1e5/cbmp): Used for customizing colors and generating PNG files.\n-   [ctgen](https://github.com/ful1e5/clickgen): Used for customizing sizes and building XCursor and Windows Cursors.\n\nYou can refer to the README of each tool for more information on their command-line options.\n\n#### Crafting Your Fuchsia Cursor\n\nThe process of creating custom cursor themes involves two main steps:\n\n1. Rendering SVG files to PNG files.\n2. Building cursor themes from PNG files.\n\n#### Customize Colors\n\n`cbmp` provides three options for changing colors:\n\n1. `-bc`: Base color, which replaces the `#00FF00` color in the SVG.\n2. `-oc`: Outlined color, which replaces the `#0000FF` color in the SVG.\n3. `-wc` (optional): Watch Background color, which replaces the `#FF0000` color in the SVG.\n\n```bash\nnpx cbmp [...] -bc \"\u003chex\u003e\" -oc \"\u003chex\u003e\" -wc \"\u003chex\u003e\"\n```\n\nAlternatively, you can provide a JSON configuration file to render SVG files, which contains a sequence of `cbmp` commands:\n\n```bash\nnpx cbmp render.json\n```\n\n#### Customize Sizes\n\n##### Customize Windows Cursor size\n\nTo build Windows cursor with size `16`:\n\n```bash\nctgen configs/win_rg.build.toml -s 16 -d \"bitmaps/Fuchsia\" -n \"Fuchsia\" -c \"First OpenSource port of FuchsiaOS Windows Cursors with size 16\"\n```\n\nYou can also customize output directory with `-o` option:\n\n```bash\nctgen configs/win_xl.build.toml -s 16 -d \"bitmaps/Fuchsia\" -o \"out\" -n \"Fuchsia\" -c \"First OpenSource port of FuchsiaOS Windows Cursors with size 16\"\n```\n\n##### Customize XCursor size\n\nTo build XCursor with size `16`:\n\n```bash\nctgen configs/x.build.toml -s 16 -d \"bitmaps/Fuchsia\" -n \"Fuchsia\" -c \"FuchsiaOS XCursors with size 16\"\n```\n\nYou can also assign multiple sizes to `ctgen` for XCursors build:\n\n```bash\nctgen configs/x.build.toml -s 16 18 24 32 -d \"bitmaps/Fuchsia\" -n \"Fuchsia\" -c \"FuchsiaOS XCursors\"\n```\n\n#### Examples\n\nLets generate Fuchsia Cursor with green and black colors:\n\n```bash\nnpx cbmp -d \"svg\" -o \"bitmaps/Fuchsia-Hacker\" -bc \"#00FE00\" -oc \"#000000\"\n```\n\nAfter rendering custom color you have to build cursor through `ctgen`:\n\n-   XCursor:\n    ```bash\n    ctgen configs/x.build.toml -d \"bitmaps/Fuchsia-Hacker\" -n \"Fuchsia-Hacker\" -c \"Green and Black FuchsiaOS XCursors.\"\n    ```\n-   Windows Regular Cursor:\n    ```bash\n    ctgen configs/win_rg.build.toml -d \"bitmaps/Fuchsia-Hacker\" -n \"Fuchsia-Hacker\" -c \"Green and Black FuchsiaOS Regular Windows Cursors.\"\n    ```\n-   Windows Large Cursor:\n    ```bash\n    ctgen configs/win_lg.build.toml -d \"bitmaps/Fuchsia-Hacker\" -n \"Fuchsia-Hacker\" -c \"Green and Black FuchsiaOS Large Windows Cursors.\"\n    ```\n-   Windows Extra Large Cursor:\n    ```bash\n    ctgen configs/win_xl.build.toml -d \"bitmaps/Fuchsia-Hacker\" -n \"Fuchsia-Hacker\" -c \"Green and Black FuchsiaOS Extra Large Windows Cursors.\"\n    ```\n\nAfterwards, Generated theme can be found in the `themes` directory.\n\n###### Fuchsia Gruvbox\n\n```bash\nnpx cbmp -d \"svg\" -o \"bitmaps/Fuchsia-Gruvbox\" -bc \"#282828\" -oc \"#EBDBB2\"\n\nctgen configs/x.build.toml -d \"bitmaps/Fuchsia-Gruvbox\" -n \"Fuchsia-Gruvbox\" -c \"Groovy FuchsiaOS XCursors.\"\nctgen configs/win_rg.build.toml -d \"bitmaps/Fuchsia-Gruvbox\" -n \"Fuchsia-Gruvbox\" -c \"Groovy FuchsiaOS Windows Regular Cursors.\"\nctgen configs/win_lg.build.toml -d \"bitmaps/Fuchsia-Gruvbox\" -n \"Fuchsia-Gruvbox\" -c \"Groovy FuchsiaOS Windows Large Cursors.\"\nctgen configs/win_xl.build.toml -d \"bitmaps/Fuchsia-Gruvbox\" -n \"Fuchsia-Gruvbox\" -c \"Groovy FuchsiaOS Windows Extra Large Cursors.\"\n```\n\n###### Fuchsia Solarized Dark\n\n```bash\nnpx cbmp -d \"svg\" -o \"bitmaps/Fuchsia-Solarized-Dark\" -bc \"#002b36\" -oc \"#839496\"\n\nctgen configs/x.build.toml -d \"bitmaps/Fuchsia-Solarized-Dark\" -n \"Fuchsia-Solarized-Dark\" -c \"Solarized Dark FuchsiaOS XCursors.\"\nctgen configs/win_rg.build.toml -d \"bitmaps/Fuchsia-Solarized-Dark\" -n \"Fuchsia-Solarized-Dark\" -c \"Solarized Dark FuchsiaOS Windows Regular Cursors.\"\nctgen configs/win_lg.build.toml -d \"bitmaps/Fuchsia-Solarized-Dark\" -n \"Fuchsia-Solarized-Dark\" -c \"Solarized Dark FuchsiaOS Windows Large Cursors.\"\nctgen configs/win_xl.build.toml -d \"bitmaps/Fuchsia-Solarized-Dark\" -n \"Fuchsia-Solarized-Dark\" -c \"Solarized Dark FuchsiaOS Windows Extra Large Cursors.\"\n```\n\n###### Fuchsia Solarized Light\n\n```bash\nnpx cbmp -d \"svg\" -o \"bitmaps/Fuchsia-Solarized-Light\" -bc \"#839496\" -oc \"#002b36\"\n\nctgen configs/x.build.toml -d \"bitmaps/Fuchsia-Solarized-Light\" -n \"Fuchsia-Solarized-Light\" -c \"Solarized Light FuchsiaOS XCursors.\"\nctgen configs/win_rg.build.toml -d \"bitmaps/Fuchsia-Solarized-Light\" -n \"Fuchsia-Solarized-Light\" -c \"Solarized Light FuchsiaOS Windows Regular Cursors.\"\nctgen configs/win_lg.build.toml -d \"bitmaps/Fuchsia-Solarized-Light\" -n \"Fuchsia-Solarized-Light\" -c \"Solarized Light FuchsiaOS Windows Large Cursors.\"\nctgen configs/win_xl.build.toml -d \"bitmaps/Fuchsia-Solarized-Light\" -n \"Fuchsia-Solarized-Light\" -c \"Solarized Light FuchsiaOS Windows Extra Large Cursors.\"\n```\n\n###### Fuchsia Dracula\n\n```bash\nnpx cbmp -d \"svg\" -o \"bitmaas/Fuchsia-Dracula\" -bc \"#282a36\" -oc \"#f8f8f2\"\n\nctgen configs/x.build.toml -d \"bitmaps/Fuchsia-Dracula\" -n \"Fuchsia-Dracula\" -c \"Dracula FuchsiaOS XCursors.\"\nctgen configs/win_rg.build.toml -d \"bitmaps/Fuchsia-Dracula\" -n \"Fuchsia-Dracula\" -c \"Dracula FuchsiaOS Windows Regular Cursors.\"\nctgen configs/win_lg.build.toml -d \"bitmaps/Fuchsia-Dracula\" -n \"Fuchsia-Dracula\" -c \"Dracula FuchsiaOS Windows Large Cursors.\"\nctgen configs/win_xl.build.toml -d \"bitmaps/Fuchsia-Dracula\" -n \"Fuchsia-Dracula\" -c \"Dracula FuchsiaOS Windows Extra Large Cursors.\"\n```\n\n## Testing Cursor\n\nThere 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.\n\n-   [Cursor-Test](https://vibhorjaiswal.github.io/Cursor-Test/)\n-   [Mozilla CSS Cursor](https://developer.mozilla.org/en-US/docs/Web/CSS/cursor)\n\nFor a blueprint for creating XCursors, you may also want to refer to [Cursor-demo](https://wiki.tcl-lang.org/page/Cursor+demo).\n\n## Bugs\n\nBugs should be reported [here](https://github.com/ful1e5/Fuchsia/issues) on the Github issues page.\n\n## Getting Help\n\nYou can create a **issue**, I will help you.\n\n## Contributing\n\nCheck [CONTRIBUTING.md](CONTRIBUTING.md), any suggestions for features and contributions to the continuing code masterelopment can be made via the issue tracker or code contributions via a `Fork` \u0026 `Pull requests`.\n","funding_links":["https://github.com/sponsors/ful1e5"],"categories":["Cursor"],"sub_categories":["Nerd Fonts"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fful1e5%2Ffuchsia-cursor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fful1e5%2Ffuchsia-cursor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fful1e5%2Ffuchsia-cursor/lists"}