docs: update README with 'new' features
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: Ic45f39e98b73a0ec2e2ec8cbdcc2f5d66a6a6964
This commit is contained in:
parent
d402e6e300
commit
55012e16f9
1 changed files with 27 additions and 10 deletions
37
README.md
37
README.md
|
|
@ -1,24 +1,39 @@
|
|||
# Chroma
|
||||
|
||||
A simple, lightweight and efficientt wallpaper daeemon for Wayland compositors
|
||||
with multi-monitor & automatic hotplugging support. Born from my woes with
|
||||
Hyprpaper, swaybg and most ironically SWWW, which turned out to be NOT a
|
||||
solution to my Wayland wallpaper woes.
|
||||
Super-fast, lightweight and efficient wallpaper daemon for Wayland compositors
|
||||
with multi-monitor & hotplugging support. Born from my woes with Hyprpaper,
|
||||
swaybg and most ironically _SWWW_ (now called AWWW for some awful reason), which
|
||||
turned out to be NOT a solution to my Wayland wallpaper woes. Smaller, faster,
|
||||
cleaner and somehow still more feature-rich...
|
||||
|
||||
## Features
|
||||
|
||||
I did not expect to be writing something too feature-rich, but I still ended up
|
||||
with something relatively convoluted. Chroma (mostly) reliably supports:
|
||||
Chroma combines simplicity with powerful performance optimizations and
|
||||
comprehensive monitor management. Here's what makes Chroma stand out:
|
||||
|
||||
- **Multi-monitors**: Automatically detects and manages wallpapers for all
|
||||
connected displays
|
||||
### Core Functionality
|
||||
|
||||
- **Memory-efficient**: Smart caching and resource management
|
||||
- **Optimized rendering**: VBO dirty flagging and reduced GPU overhead
|
||||
- **Multi-monitor support**: Automatically detects and manages wallpapers for
|
||||
all connected displays
|
||||
- **Configurable scaling modes**: Fill, fit, stretch, and center options per
|
||||
monitor
|
||||
- **Hotplugging**: Dynamically handles monitor connection/disconnection events
|
||||
- **Per-output configuration**: Set different wallpapers for each monitor
|
||||
- **Per-output configuration**: Set different wallpapers and settings for each
|
||||
monitor
|
||||
- **Global and per-output settings**: Override defaults for specific monitors
|
||||
- **Performance tuning**: Adjustable downsampling limits and quality
|
||||
thresholds
|
||||
- **Multiple image formats**: Supports JPEG, PNG, BMP, TGA, PSD, GIF, HDR, PIC,
|
||||
PPM, PGM
|
||||
- **EGL/OpenGL rendering**: Hardware-accelerated wallpaper rendering
|
||||
- **Configuration file support**: Easy setup with INI-style config files
|
||||
- **Signal handling**: Graceful shutdown and configuration reload (SIGHUP)
|
||||
- **Intelligent downsampling**: Automatically reduces large image resolution to
|
||||
save memory (up to 94% memory savings for 8K images)
|
||||
- **Advanced filtering**: Nearest, linear, bilinear, and trilinear filtering
|
||||
options
|
||||
|
||||
## Usage
|
||||
|
||||
|
|
@ -198,7 +213,7 @@ make analyze # requires cppcheck
|
|||
|
||||
- C11 standard
|
||||
- 2-space indentation
|
||||
- No tabs
|
||||
- No tabs (except for the Makefile, obviously)
|
||||
- Function names: `chroma_function_name`
|
||||
- Constants: `CHROMA_CONSTANT_NAME`
|
||||
|
||||
|
|
@ -209,3 +224,5 @@ make analyze # requires cppcheck
|
|||
This project is made available under Mozilla Public License (MPL) version 2.0.
|
||||
See [LICENSE](LICENSE) for more details on the exact conditions. An online copy
|
||||
is provided [here](https://www.mozilla.org/en-US/MPL/2.0/).
|
||||
|
||||
<!--markdownlint-enable MD059 -->
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue