Skip to content

hyprwm/hyprcursor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2fd3642 · Mar 17, 2025
Oct 8, 2024
Sep 28, 2024
Feb 3, 2025
Feb 3, 2025
Feb 4, 2025
Dec 16, 2024
Jan 20, 2025
Mar 7, 2024
Feb 3, 2025
Sep 30, 2024
Feb 3, 2025
Mar 6, 2024
Mar 17, 2025
Mar 17, 2025
Jan 23, 2025
Oct 8, 2024
Mar 7, 2024

Repository files navigation

hyprcursor

The hyprland cursor format, library and utilities.

Why?

XCursor sucks, and we still use it today.

  • Scaling of XCursors is horrible
  • XCursor does not support vector cursors
  • XCursor is ridiculously space-inefficient

Hyprcursor fixes all three. It's an efficient cursor theme format that doesn't suck as much.

Notable advantages over XCursor

  • Automatic scaling according to a configurable, per-cursor method.
  • Support for SVG cursors
  • Way more space-efficient. As an example, Bibata-XCursor is 44.1MB, while it's 6.6MB in hyprcursor.

Documentation

See the wiki here check out docs/ and standards

Tools

hyprcursor-util

Utility for creating hyprcursor themes. See its readme in hyprcursor-util/

libhyprcursor

The library to use for implementing hyprcursors in your compositor or app.

It provides C and C++ bindings.

Examples

For both C and C++, see tests/.

Building

Deps:

  • hyprlang >= 0.4.2
  • cairo
  • libzip
  • librsvg
  • tomlplusplus

Build

cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -S . -B ./build
cmake --build ./build --config Release --target all -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`

Install with:

sudo cmake --install build