From 55012e16f94f4b1a9d421d57ec38ede6687ef192 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sat, 17 Jan 2026 19:09:18 +0300 Subject: [PATCH] docs: update README with 'new' features Signed-off-by: NotAShelf Change-Id: Ic45f39e98b73a0ec2e2ec8cbdcc2f5d66a6a6964 --- README.md | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 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/). + +