From d145d88b7ee83cfd47af56afaae79a177b49d436 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Sun, 2 Nov 2025 21:17:48 +0300 Subject: [PATCH] meta: add downsampling options to sample config Signed-off-by: NotAShelf Change-Id: Ie0aac45e64dfe292b3cd8de330f6b2d86a6a6964 --- chroma.conf.sample | 58 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 55 insertions(+), 3 deletions(-) diff --git a/chroma.conf.sample b/chroma.conf.sample index cd52968..27dad16 100644 --- a/chroma.conf.sample +++ b/chroma.conf.sample @@ -27,15 +27,59 @@ default_image = ~/.config/chroma/default.jpg # Usually set via command line option --daemon, but can be set here too daemon_mode = false +# Global scaling mode for wallpapers (used as default for all outputs) +# Options: fill, fit, stretch, center +# fill - Fill entire output, crop if necessary (default) +# fit - Fit image within output, add borders if needed +# stretch - Stretch to fill output, may distort aspect ratio +# center - Center image at original size +scale_mode = fill + +# Global image filtering quality (used as default for all outputs) +# Options: nearest, linear, bilinear, trilinear +# nearest - Nearest neighbor filtering (pixelated, fast) +# linear - Linear filtering (smooth, default) +# bilinear - Bilinear filtering (smoother) +# trilinear - Trilinear filtering (smoothest) +filter_quality = linear + +# Image downsampling settings for performance optimization +# =================================================== +# Enable automatic downsampling of large images to save memory and improve performance +# Set to false to keep original resolution for all images (uses more memory!) +enable_downsampling = true + +# Maximum expected output resolution +# Images larger than these dimensions may be automatically downsampled +# Adjust based on your actual monitor setup +max_output_width = 3840 # 4K width (change to 2560 for 1440p, 1920 for 1080p) +max_output_height = 2160 # 4K height (change to 1440 for 1440p, 1080 for 1080p) + +# Minimum scale factor +# Prevents images from being scaled below this percentage of original size +# Useful to preserve detail on very high-resolution images +# Range: 0.1 to 1.0 (10% to 100%) +min_scale_factor = 0.25 # Don't scale below 25% of original size + # Output-specific wallpaper mappings # ================================== -# Format: output.OUTPUT_NAME = /path/to/image.ext +# Basic format: output.OUTPUT_NAME = /path/to/image.ext +# +# Extended format with per-output settings: +# output.OUTPUT_NAME = /path/to/image.ext +# output.OUTPUT_NAME.scale = fill|fit|stretch|center +# output.OUTPUT_NAME.filter = nearest|linear|bilinear|trilinear # # To find your output names, run one of these commands: -# - wlr-randr (for wlroots-based compositors like Sway, Hyprland) +# +# Compositor Agnostic: +# - wlr-randr (for wlroots-based compositors) # - wayland-info | grep wl_output # - kanshi list-outputs # +# Compositor Specific +# - hyprctl monitors -j | jq .[].name (Hyprland specific) +# # Common output name patterns: # - DP-1, DP-2, DP-3, etc. (DisplayPort) # - HDMI-A-1, HDMI-A-2, etc. (HDMI) @@ -43,6 +87,14 @@ daemon_mode = false # - DVI-D-1, DVI-I-1 (DVI) # - VGA-1 (VGA, legacy) # -# Example: +# Examples: # output.HDMI-A-1 = ~/Pictures/wallpaper.jpg +# output.DP-1 = ~/Pictures/monitor1.png +# output.DP-1.scale = fit +# output.DP-1.filter = bilinear +# output.DP-2 = ~/Pictures/monitor2.jpg +# output.DP-2.scale = stretch +# output.eDP-1 = ~/Pictures/laptop-wallpaper.jpg +# output.eDP-1.scale = center +# output.eDP-1.filter = trilinear