meta: add downsampling options to sample config

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ie0aac45e64dfe292b3cd8de330f6b2d86a6a6964
This commit is contained in:
raf 2025-11-02 21:17:48 +03:00
commit d145d88b7e
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF

View file

@ -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