brewery
notashelf /
23527908c28dc5cc0890411240419c1f5183db35

chroma

public

Lightweight wallpaper daemon for Wayland

Star0tarball
clone
ssh://git@git.notashelf.dev:33/notashelf/chroma.git
chroma.conf.sample128 lines5.0 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
# Default anchor position (0-100 for both x and y)
47
# anchor_x: 0=left, 50=center, 100=right
48
# anchor_y: 0=top, 50=center, 100=bottom
49
# Can use named anchors: center, top, bottom, left, right, top-left, etc.
50
anchor = center
51
anchor_x = 50
52
anchor_y = 50
53
54
# Image downsampling settings for performance optimization
55
# ===================================================
56
# Enable automatic downsampling of large images to save memory and improve performance
57
# Set to false to keep original resolution for all images (uses more memory!)
58
enable_downsampling = true
59
60
# Maximum expected output resolution
61
# Images larger than these dimensions may be automatically downsampled
62
# Adjust based on your actual monitor setup
63
max_output_width = 3840   # 4K width (change to 2560 for 1440p, 1920 for 1080p)
64
max_output_height = 2160  # 4K height (change to 1440 for 1440p, 1080 for 1080p)
65
66
# Minimum scale factor
67
# Prevents images from being scaled below this percentage of original size
68
# Useful to preserve detail on very high-resolution images
69
# Range: 0.1 to 1.0 (10% to 100%)
70
min_scale_factor = 0.25  # Don't scale below 25% of original size
71
72
# Output-specific wallpaper mappings
73
# ==================================
74
# Basic format: output.OUTPUT_NAME = /path/to/image.ext
75
#
76
# Extended format with per-output settings:
77
#   output.OUTPUT_NAME = /path/to/image.ext
78
#   output.OUTPUT_NAME.scale = fill|fit|stretch|center
79
#   output.OUTPUT_NAME.filter = nearest|linear|bilinear|trilinear
80
#   output.OUTPUT_NAME.anchor = center|top|bottom|left|right|top-left|top-right|bottom-left|bottom-right
81
#
82
# Anchor specifies which part of the image is anchored to the output:
83
#   center      - image centered (default)
84
#   top         - image anchored to top edge
85
#   bottom      - image anchored to bottom edge
86
#   left        - image anchored to left edge
87
#   right       - image anchored to right edge
88
#   top-left    - image anchored to top-left corner
89
#   top-right   - image anchored to top-right corner
90
#   bottom-left - image anchored to bottom-left corner
91
#   bottom-right - image anchored to bottom-right corner
92
#
93
# To find your output names, run one of these commands:
94
#
95
#   Compositor Agnostic:
96
#   - wlr-randr (for wlroots-based compositors)
97
#   - wayland-info | grep wl_output
98
#   - kanshi list-outputs
99
#
100
#   Compositor Specific
101
#   - hyprctl monitors -j | jq .[].name (Hyprland specific)
102
#
103
# Common output name patterns:
104
#   - DP-1, DP-2, DP-3, etc. (DisplayPort)
105
#   - HDMI-A-1, HDMI-A-2, etc. (HDMI)
106
#   - eDP-1 (embedded DisplayPort, laptops)
107
#   - DVI-D-1, DVI-I-1 (DVI)
108
#   - VGA-1 (VGA, legacy)
109
#
110
#  Examples:
111
#  output.HDMI-A-1 = ~/Pictures/wallpaper.jpg
112
#  output.DP-1 = ~/Pictures/monitor1.png
113
#  output.DP-1.scale = fit
114
#  output.DP-1.filter = bilinear
115
#  output.DP-1.anchor = top-left
116
#  output.DP-2 = ~/Pictures/monitor2.jpg
117
#  output.DP-2.scale = stretch
118
#  output.eDP-1 = ~/Pictures/laptop-wallpaper.jpg
119
#  output.eDP-1.scale = fill
120
#  output.eDP-1.anchor = bottom-right
121
#  output.eDP-1.filter = trilinear
122
#
123
#  Custom anchor coordinates (anchor_x, anchor_y override anchor):
124
#  output.ULTRAWIDE = ~/Pictures/ultrawide.jpg
125
#  output.ULTRAWIDE.scale = fill
126
#  output.ULTRAWIDE.anchor_x = 25    # 25% from left edge
127
#  output.ULTRAWIDE.anchor_y = 10    # 10% from top edge
128