Go to file
alan (NyxTrail) f6be58e58e New upstream version 0.1.7 2024-04-14 17:55:27 +00:00
.github/workflows New upstream version 0.1.7 2024-04-14 17:55:27 +00:00
docs New upstream version 0.1.7 2024-04-14 17:55:27 +00:00
hyprcursor-util New upstream version 0.1.7 2024-04-14 17:55:27 +00:00
include/hyprcursor New upstream version 0.1.7 2024-04-14 17:55:27 +00:00
libhyprcursor New upstream version 0.1.7 2024-04-14 17:55:27 +00:00
nix New upstream version 0.1.7 2024-04-14 17:55:27 +00:00
tests New upstream version 0.1.7 2024-04-14 17:55:27 +00:00
.clang-format New upstream version 0.1.4 2024-03-18 16:39:42 +00:00
.gitignore New upstream version 0.1.4 2024-03-18 16:39:42 +00:00
CMakeLists.txt New upstream version 0.1.7 2024-04-14 17:55:27 +00:00
LICENSE New upstream version 0.1.4 2024-03-18 16:39:42 +00:00
README.md New upstream version 0.1.4 2024-03-18 16:39:42 +00:00
flake.lock New upstream version 0.1.4 2024-03-18 16:39:42 +00:00
flake.nix New upstream version 0.1.7 2024-04-14 17:55:27 +00:00
hyprcursor.pc.in New upstream version 0.1.4 2024-03-18 16:39:42 +00:00

README.md

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.

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/.

Docs

See docs/.

TODO

Library:

  • Support animated cursors
  • Support SVG cursors

Util:

  • Support compiling a theme with X
  • Support decompiling animated cursors

Building

Deps:

  • hyprlang >= 0.4.2
  • cairo
  • libzip
  • librsvg

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