mirror of
https://github.com/hyprwm/hyprcursor.git
synced 2024-12-22 18:29:48 +01:00
1.5 KiB
1.5 KiB
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/
.
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
- 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