Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hyprwm/hyprcursor
The hyprland cursor format, library and utilities.
https://github.com/hyprwm/hyprcursor
Last synced: 6 days ago
JSON representation
The hyprland cursor format, library and utilities.
- Host: GitHub
- URL: https://github.com/hyprwm/hyprcursor
- Owner: hyprwm
- License: bsd-3-clause
- Created: 2024-03-06T18:57:56.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-04-25T20:38:32.000Z (7 months ago)
- Last Synced: 2024-05-02T03:04:21.949Z (6 months ago)
- Language: C++
- Size: 117 KB
- Stars: 236
- Watchers: 3
- Forks: 9
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-hyprland - hyprcursor
- awesome-linux-ricing - hyprcursor - The hyprland cursor format, library and utilities. (Cursor / Utilities)
README
## 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-inefficientHyprcursor 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](https://wiki.hyprland.org/Hypr-Ecosystem/hyprcursor/)
check out [docs/](./docs)
and [standards](https://standards.hyprland.org/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/`.
## TODO
Library:
- [x] Support animated cursors
- [x] Support SVG cursorsUtil:
- [ ] Support compiling a theme with X
- [x] Support decompiling animated cursors## Building
### Deps:
- hyprlang >= 0.4.2
- cairo
- libzip
- librsvg
- tomlplusplus### Build
```sh
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:
```sh
sudo cmake --install build
```