docs: simplify README

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I893d51c6a084a0ed56a27cf0bcfae14b6a6a6964
This commit is contained in:
raf 2026-01-31 15:17:51 +03:00
commit 5df01492ec
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF

View file

@ -53,6 +53,9 @@ comprehensive monitor management. Here's what makes Chroma stand out:
- Wayland development headers
- EGL/OpenGL development headers
See [development section](#development) for more details. This section might get
outdated at any given moment, so refer to the Nix shell if in doubt.
### Building
#### Quick Build
@ -66,6 +69,9 @@ make
# Or build debug version
make debug
# Alternatively, create a static build
make static
```
### Installation
@ -179,44 +185,56 @@ Chroma works with any Wayland compositor that supports:
- `wl_output` interface
- EGL window surface creation
Tested only on Hyprland.
Tested only on Hyprland, but should work fine with any compositor that meets the
above criteria. Which is basically all of them I think?
## Development
## Contributing
### Building Debug Version
You might want to contribute to Chroma for a variety of reasons. I usually will
not judge, however, there are some conventions I expect you to adhere to. Mainly
I would like for you to follow the project's **code style**:
- C11 standard (I really wished for C99)
- 2-space indentation (use `make format`)
- No tabs (except for the Makefile, obviously)
- Function names: `chroma_function_name`
- Constants: `CHROMA_CONSTANT_NAME`
Once your changes are done, fork this repository and create a feature branch.
This is not a strict requirement but I'd rather not deal with rebase failures.
Create your feature branch, make your changes, _test thoroughly_ and submit your
pull request when you are done. With your pull request, I'd _really_ like a tiny
snippet of text that explains your motive of changes. While I can infer what you
are trying to do, I'd rather _know_ what was going on in your head.
### Development
A Nix shell is provided within the repository. You may use both `nix-shell` and
`nix develop` to enter a development shell with all of the required dependencies
for _dynamic linking_. Additionally, [Direnv](https://direnv.net) users may use
`direnv allow` to use the shell provided by the repository.
A few convenience commands are provided by the Makefile, which you may invoke at
your own discretion.
#### Building Debug Version
```bash
make debug
```
### Code Formatting
#### Code Formatting
```bash
make format # requires clang-format
```
### Static Analysis
#### Static Analysis
```bash
make analyze # requires cppcheck
```
## Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Test thoroughly
5. Submit a pull request
### Code Style
- C11 standard
- 2-space indentation
- No tabs (except for the Makefile, obviously)
- Function names: `chroma_function_name`
- Constants: `CHROMA_CONSTANT_NAME`
## License
<!--markdownlint-disable MD059 -->