File: README.md

package info (click to toggle)
libhyprcursor 0.1.13-0.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 284 kB
  • sloc: cpp: 1,546; ansic: 130; makefile: 16
file content (58 lines) | stat: -rw-r--r-- 1,409 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
## 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](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/`.

## 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
```