brewery
notashelf /
55012e16f94f4b1a9d421d57ec38ede6687ef192

chroma

public

Lightweight wallpaper daemon for Wayland

Star0tarball
clone
ssh://git@git.notashelf.dev:33/notashelf/chroma.git

Commit 55012e16f94f

tarball

NotAShelf <raf@notashelf.dev> · 2026-01-31 12:15 UTC

unverified1 files changed+27-10
docs: update README with 'new' features

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ic45f39e98b73a0ec2e2ec8cbdcc2f5d66a6a6964
diff --git a/README.md b/README.mdindex 3bada58..68cdf6d 100644--- a/README.md+++ b/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 -->