# This is a sample configuration file for the Chroma wallpaper daemon. # Lines starting with # are comments and are ignored. # # Configuration file locations (checked in order): # 1. ~/.config/chroma/chroma.conf # 2. $XDG_CONFIG_HOME/chroma/chroma.conf # 3. ./chroma.conf (current directory) # # To get started: # 1. Copy this file to ~/.config/chroma/chroma.conf # 2. Modify the paths to point to your wallpaper images # 3. Use 'wlr-randr' or similar tools to find your output names # 4. Restart chroma or send SIGHUP to reload configuration # This image will be used for any output that doesn't have a specific mapping. # Supports: JPEG, PNG, BMP, TGA, PSD, GIF, HDR, PIC, PPM, PGM # Paths can be absolute or relative, ~ expansion is supported. # # Alternative examples: # default_image = ~/Pictures/wallpapers/default.png # default_image = /usr/share/wallpapers/default.jpg # default_image = ./wallpapers/fallback.jpg default_image = ~/.config/chroma/default.jpg # Whether to run as a background daemon # 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 # ================================== # 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: # # 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) # - eDP-1 (embedded DisplayPort, laptops) # - DVI-D-1, DVI-I-1 (DVI) # - VGA-1 (VGA, legacy) # # 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