brewery
notashelf /
55012e16f94f4b1a9d421d57ec38ede6687ef192

chroma

public

Lightweight wallpaper daemon for Wayland

Star0tarball
clone
ssh://git@git.notashelf.dev:33/notashelf/chroma.git
chroma.conf.sample100 lines3.8 KB
1
# This is a sample configuration file for the Chroma wallpaper daemon.
2
# Lines starting with # are comments and are ignored.
3
#
4
# Configuration file locations (checked in order):
5
#   1. ~/.config/chroma/chroma.conf
6
#   2. $XDG_CONFIG_HOME/chroma/chroma.conf
7
#   3. ./chroma.conf (current directory)
8
#
9
# To get started:
10
#   1. Copy this file to ~/.config/chroma/chroma.conf
11
#   2. Modify the paths to point to your wallpaper images
12
#   3. Use 'wlr-randr' or similar tools to find your output names
13
#   4. Restart chroma or send SIGHUP to reload configuration
14
15
# This image will be used for any output that doesn't have a specific mapping.
16
# Supports: JPEG, PNG, BMP, TGA, PSD, GIF, HDR, PIC, PPM, PGM
17
# Paths can be absolute or relative, ~ expansion is supported.
18
#
19
# Alternative examples:
20
# default_image = ~/Pictures/wallpapers/default.png
21
# default_image = /usr/share/wallpapers/default.jpg
22
# default_image = ./wallpapers/fallback.jpg
23
default_image = ~/.config/chroma/default.jpg
24
25
26
# Whether to run as a background daemon
27
# Usually set via command line option --daemon, but can be set here too
28
daemon_mode = false
29
30
# Global scaling mode for wallpapers (used as default for all outputs)
31
# Options: fill, fit, stretch, center
32
#   fill    - Fill entire output, crop if necessary (default)
33
#   fit     - Fit image within output, add borders if needed
34
#   stretch - Stretch to fill output, may distort aspect ratio
35
#   center  - Center image at original size
36
scale_mode = fill
37
38
# Global image filtering quality (used as default for all outputs)
39
# Options: nearest, linear, bilinear, trilinear
40
#   nearest   - Nearest neighbor filtering (pixelated, fast)
41
#   linear    - Linear filtering (smooth, default)
42
#   bilinear  - Bilinear filtering (smoother)
43
#   trilinear - Trilinear filtering (smoothest)
44
filter_quality = linear
45
46
# Image downsampling settings for performance optimization
47
# ===================================================
48
# Enable automatic downsampling of large images to save memory and improve performance
49
# Set to false to keep original resolution for all images (uses more memory!)
50
enable_downsampling = true
51
52
# Maximum expected output resolution
53
# Images larger than these dimensions may be automatically downsampled
54
# Adjust based on your actual monitor setup
55
max_output_width = 3840   # 4K width (change to 2560 for 1440p, 1920 for 1080p)
56
max_output_height = 2160  # 4K height (change to 1440 for 1440p, 1080 for 1080p)
57
58
# Minimum scale factor
59
# Prevents images from being scaled below this percentage of original size
60
# Useful to preserve detail on very high-resolution images
61
# Range: 0.1 to 1.0 (10% to 100%)
62
min_scale_factor = 0.25  # Don't scale below 25% of original size
63
64
# Output-specific wallpaper mappings
65
# ==================================
66
# Basic format: output.OUTPUT_NAME = /path/to/image.ext
67
#
68
# Extended format with per-output settings:
69
#   output.OUTPUT_NAME = /path/to/image.ext
70
#   output.OUTPUT_NAME.scale = fill|fit|stretch|center
71
#   output.OUTPUT_NAME.filter = nearest|linear|bilinear|trilinear
72
#
73
# To find your output names, run one of these commands:
74
#
75
#   Compositor Agnostic:
76
#   - wlr-randr (for wlroots-based compositors)
77
#   - wayland-info | grep wl_output
78
#   - kanshi list-outputs
79
#
80
#   Compositor Specific
81
#   - hyprctl monitors -j | jq .[].name (Hyprland specific)
82
#
83
# Common output name patterns:
84
#   - DP-1, DP-2, DP-3, etc. (DisplayPort)
85
#   - HDMI-A-1, HDMI-A-2, etc. (HDMI)
86
#   - eDP-1 (embedded DisplayPort, laptops)
87
#   - DVI-D-1, DVI-I-1 (DVI)
88
#   - VGA-1 (VGA, legacy)
89
#
90
#  Examples:
91
#  output.HDMI-A-1 = ~/Pictures/wallpaper.jpg
92
#  output.DP-1 = ~/Pictures/monitor1.png
93
#  output.DP-1.scale = fit
94
#  output.DP-1.filter = bilinear
95
#  output.DP-2 = ~/Pictures/monitor2.jpg
96
#  output.DP-2.scale = stretch
97
#  output.eDP-1 = ~/Pictures/laptop-wallpaper.jpg
98
#  output.eDP-1.scale = center
99
#  output.eDP-1.filter = trilinear
100