A read-only mirror of https://github.com/hyprwm/hyprcursor
Go to file
fred21O4 7266c021cd
fix missing follow in flake.nix
this causes an extra instance of the systems flake, and makes it very difficult to overide in upstream flakes
2024-04-05 11:00:30 +13:00
.github/workflows ci: Added CI (#2) 2024-03-11 22:17:42 +00:00
docs docs: add toml instructions 2024-04-04 16:27:39 +01:00
hyprcursor-util CMake: move hyprcursor-util to parent 2024-04-04 17:40:42 +01:00
include/hyprcursor headers: fixup since vers 2024-03-24 20:50:26 +00:00
libhyprcursor core: Add support for toml manifests and metas 2024-04-04 16:21:38 +01:00
nix Nix: add tomlplusplus dep 2024-04-04 20:01:46 +03:00
tests tests: fixup hardcoded themes as always 2024-04-04 16:22:14 +01:00
.clang-format Initial commit: very basics 2024-03-07 03:19:38 +00:00
.gitignore Initial commit: very basics 2024-03-07 03:19:38 +00:00
CMakeLists.txt CMake: move hyprcursor-util to parent 2024-04-04 17:40:42 +01:00
LICENSE Initial commit 2024-03-06 18:57:56 +00:00
README.md README: Remove development note 2024-03-09 03:12:25 +00:00
flake.lock Nix: init 2024-03-09 01:46:16 +02:00
flake.nix fix missing follow in flake.nix 2024-04-05 11:00:30 +13:00
hyprcursor.pc.in Initial commit: very basics 2024-03-07 03:19:38 +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