A read-only mirror of https://github.com/hyprwm/hyprcursor
Find a file
2024-03-24 20:37:31 +00:00
.github/workflows ci: Added CI (#2) 2024-03-11 22:17:42 +00:00
docs docs: add note about animated svg 2024-03-08 17:32:40 +00:00
hyprcursor-util util: wrap paths in quotes in shell invocations 2024-03-17 00:29:10 +00:00
include/hyprcursor lib: add user-defined logging 2024-03-24 20:37:31 +00:00
libhyprcursor lib: add user-defined logging 2024-03-24 20:37:31 +00:00
nix Nix: use out output 2024-03-09 01:54:27 +02:00
tests lib: add user-defined logging 2024-03-24 20:37:31 +00: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: bump ver to 0.1.5 2024-03-24 03:23:53 +00:00
flake.lock Nix: init 2024-03-09 01:46:16 +02:00
flake.nix Nix: init 2024-03-09 01:46:16 +02:00
hyprcursor.pc.in Initial commit: very basics 2024-03-07 03:19:38 +00: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

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