# This is a sample TOML configuration file for the Chroma wallpaper daemon. # For more information about TOML format, see https://toml.io # # Configuration file locations (checked in order): # 1. ~/.config/chroma/chroma.toml # 2. $XDG_CONFIG_HOME/chroma/chroma.toml # 3. ./chroma.toml (current directory) # # To get started: # 1. Copy this file to ~/.config/chroma/chroma.toml # 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 # Default wallpaper for outputs without specific mapping # Supports: JPEG, PNG, BMP, TGA, PSD, GIF, HDR, PIC, PPM, PGM # Paths can be absolute or relative, ~ expansion is supported. 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" # Default anchor position (0-100 for both x and y) # anchor_x: 0=left, 50=center, 100=right # anchor_y: 0=top, 50=center, 100=bottom # Can use named anchors: center, top, bottom, left, right, top-left, etc. anchor = "center" anchor_x = 50 anchor_y = 50 # Image downsampling settings for performance optimization [downsampling] # 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 = 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 # ================================== # Each [[output]] block defines a mapping for a specific output. # # You can match outputs by name OR by description: # name = "DP-1" # Match by port name # name = "desc:Samsung" # Match by description prefix # # The description is the human-readable name provided by the compositor # via the Wayland wl_output description event. For example, if your # monitor reports "Samsung T27A450" as its description, you can use # "desc:Samsung" to match it. The match is a prefix match, so # "desc:Sam" would also work. # # To find your output names and descriptions, run one of these commands: # wlr-randr (for wlroots-based compositors) # wayland-info | grep wl_output # kanshi list-outputs [[output]] name = "DP-1" image = "~/Pictures/monitor1.jpg" scale = "fill" filter = "linear" anchor = "center" [[output]] name = "DP-2" image = "~/Pictures/monitor2.png" scale = "fit" [[output]] name = "HDMI-A-1" image = "~/Pictures/hdmi_wallpaper.jpg" scale = "stretch" # Match by monitor description (prefix match): [[output]] name = "desc:Samsung" image = "~/Pictures/samsung-wallpaper.jpg" scale = "fill" [[output]] name = "desc:LG Ultra" image = "~/Pictures/lg-wallpaper.jpg" scale = "fit" # Laptop internal display: [[output]] name = "eDP-1" image = "~/Pictures/laptop-wallpaper.jpg" scale = "fill" anchor = "bottom-right" filter = "trilinear" # Custom anchor coordinates (anchor_x, anchor_y override anchor): [[output]] name = "ULTRAWIDE" image = "~/Pictures/ultrawide.jpg" scale = "fill" anchor_x = 25 # 25% from left edge anchor_y = 10 # 10% from top edge