notashelf /
edae535674ff44a39642d96e343ed421c314fbb1
chroma
publicLightweight wallpaper daemon for Wayland
clone
ssh://git@git.notashelf.dev:33/notashelf/chroma.git| 1 | # This is a sample TOML configuration file for the Chroma wallpaper daemon. |
| 2 | # For more information about TOML format, see https://toml.io |
| 3 | # |
| 4 | # Configuration file locations (checked in order): |
| 5 | # 1. ~/.config/chroma/chroma.toml |
| 6 | # 2. $XDG_CONFIG_HOME/chroma/chroma.toml |
| 7 | # 3. ./chroma.toml (current directory) |
| 8 | # |
| 9 | # To get started: |
| 10 | # 1. Copy this file to ~/.config/chroma/chroma.toml |
| 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 | # Default wallpaper for outputs without 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 | default_image = "~/.config/chroma/default.jpg" |
| 19 | |
| 20 | # Whether to run as a background daemon |
| 21 | # Usually set via command line option --daemon, but can be set here too |
| 22 | daemon_mode = false |
| 23 | |
| 24 | # Global scaling mode for wallpapers (used as default for all outputs) |
| 25 | # Options: fill, fit, stretch, center |
| 26 | # fill - Fill entire output, crop if necessary (default) |
| 27 | # fit - Fit image within output, add borders if needed |
| 28 | # stretch - Stretch to fill output, may distort aspect ratio |
| 29 | # center - Center image at original size |
| 30 | scale_mode = "fill" |
| 31 | |
| 32 | # Global image filtering quality (used as default for all outputs) |
| 33 | # Options: nearest, linear, bilinear, trilinear |
| 34 | # nearest - Nearest neighbor filtering (pixelated, fast) |
| 35 | # linear - Linear filtering (smooth, default) |
| 36 | # bilinear - Bilinear filtering (smoother) |
| 37 | # trilinear - Trilinear filtering (smoothest) |
| 38 | filter_quality = "linear" |
| 39 | |
| 40 | # Default anchor position (0-100 for both x and y) |
| 41 | # anchor_x: 0=left, 50=center, 100=right |
| 42 | # anchor_y: 0=top, 50=center, 100=bottom |
| 43 | # Can use named anchors: center, top, bottom, left, right, top-left, etc. |
| 44 | anchor = "center" |
| 45 | anchor_x = 50 |
| 46 | anchor_y = 50 |
| 47 | |
| 48 | # Image downsampling settings for performance optimization |
| 49 | [downsampling] |
| 50 | # Enable automatic downsampling of large images to save memory and improve performance |
| 51 | # Set to false to keep original resolution for all images (uses more memory!) |
| 52 | enable = true |
| 53 | |
| 54 | # Maximum expected output resolution |
| 55 | # Images larger than these dimensions may be automatically downsampled |
| 56 | # Adjust based on your actual monitor setup |
| 57 | max_output_width = 3840 # 4K width (change to 2560 for 1440p, 1920 for 1080p) |
| 58 | max_output_height = 2160 # 4K height (change to 1440 for 1440p, 1080 for 1080p) |
| 59 | |
| 60 | # Minimum scale factor |
| 61 | # Prevents images from being scaled below this percentage of original size |
| 62 | # Useful to preserve detail on very high-resolution images |
| 63 | # Range: 0.1 to 1.0 (10% to 100%) |
| 64 | min_scale_factor = 0.25 # Don't scale below 25% of original size |
| 65 | |
| 66 | # Output-specific wallpaper mappings |
| 67 | # ================================== |
| 68 | # Each [[output]] block defines a mapping for a specific output. |
| 69 | # |
| 70 | # You can match outputs by name OR by description: |
| 71 | # name = "DP-1" # Match by port name |
| 72 | # name = "desc:Samsung" # Match by description prefix |
| 73 | # |
| 74 | # The description is the human-readable name provided by the compositor |
| 75 | # via the Wayland wl_output description event. For example, if your |
| 76 | # monitor reports "Samsung T27A450" as its description, you can use |
| 77 | # "desc:Samsung" to match it. The match is a prefix match, so |
| 78 | # "desc:Sam" would also work. |
| 79 | # |
| 80 | # To find your output names and descriptions, run one of these commands: |
| 81 | # wlr-randr (for wlroots-based compositors) |
| 82 | # wayland-info | grep wl_output |
| 83 | # kanshi list-outputs |
| 84 | |
| 85 | [[output]] |
| 86 | name = "DP-1" |
| 87 | image = "~/Pictures/monitor1.jpg" |
| 88 | scale = "fill" |
| 89 | filter = "linear" |
| 90 | anchor = "center" |
| 91 | |
| 92 | [[output]] |
| 93 | name = "DP-2" |
| 94 | image = "~/Pictures/monitor2.png" |
| 95 | scale = "fit" |
| 96 | |
| 97 | [[output]] |
| 98 | name = "HDMI-A-1" |
| 99 | image = "~/Pictures/hdmi_wallpaper.jpg" |
| 100 | scale = "stretch" |
| 101 | |
| 102 | # Match by monitor description (prefix match): |
| 103 | [[output]] |
| 104 | name = "desc:Samsung" |
| 105 | image = "~/Pictures/samsung-wallpaper.jpg" |
| 106 | scale = "fill" |
| 107 | |
| 108 | [[output]] |
| 109 | name = "desc:LG Ultra" |
| 110 | image = "~/Pictures/lg-wallpaper.jpg" |
| 111 | scale = "fit" |
| 112 | |
| 113 | # Laptop internal display: |
| 114 | [[output]] |
| 115 | name = "eDP-1" |
| 116 | image = "~/Pictures/laptop-wallpaper.jpg" |
| 117 | scale = "fill" |
| 118 | anchor = "bottom-right" |
| 119 | filter = "trilinear" |
| 120 | |
| 121 | # Custom anchor coordinates (anchor_x, anchor_y override anchor): |
| 122 | [[output]] |
| 123 | name = "ULTRAWIDE" |
| 124 | image = "~/Pictures/ultrawide.jpg" |
| 125 | scale = "fill" |
| 126 | anchor_x = 25 # 25% from left edge |
| 127 | anchor_y = 10 # 10% from top edge |