chroma/chroma.toml.sample
NotAShelf c8ba7c4868
meta: replace the INI config sample with a TOML one
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ia7864e1038a38c3fcdb0ba95947300bd6a6a6964
2026-05-01 13:10:27 +03:00

127 lines
4.3 KiB
Text

# 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