Files
WallReel/WallReel/Assets/man/man.5
T
Uyanide 470bb1620a
CI/CD / Package (push) Successful in 2m26s
CI/CD / Publish (push) Successful in 10s
🚀 CD: 😡
2026-03-24 11:10:24 +01:00

220 lines
6.7 KiB
Plaintext

.\" Automatically generated by Pandoc 3.5
.\"
.TH "WALLREEL" "5" "2026\-03\-24" "WallReel 2.0.1" "File Formats Manual"
.SH NAME
wallreel\-config \- configuration format for wallreel
.SH SYNOPSIS
\f[CR]\[ti]/.config/wallreel/config.json\f[R]
.SH DESCRIPTION
WallReel reads configuration from a JSON document.
The root object is divided into five sections:
.IP \[bu] 2
\f[CR]wallpaper\f[R]
.IP \[bu] 2
\f[CR]theme\f[R]
.IP \[bu] 2
\f[CR]action\f[R]
.IP \[bu] 2
\f[CR]style\f[R]
.IP \[bu] 2
\f[CR]cache\f[R]
.PP
For complete machine\-readable validation details, refer to
\f[CR]config.schema.json\f[R].
.SH WALLPAPER SECTION
Defines where WallReel looks for images and what to exclude.
.PP
If both \f[CR]paths\f[R] and \f[CR]dirs\f[R] are empty or omitted,
WallReel defaults to recursively scanning the user\[aq]s Pictures
directory and treating all supported image files as wallpaper
candidates.
.PP
\f[CR]paths\f[R] (array of string, default: \f[CR][]\f[R]) : Exact paths
to specific image files.
.PP
\f[CR]dirs\f[R] (array of object, default: \f[CR][]\f[R]) : Directories
to scan for images.
.PP
Each item has:
.IP \[bu] 2
\f[CR]path\f[R] (string)
.IP \[bu] 2
\f[CR]recursive\f[R] (boolean)
.PP
\f[CR]excludes\f[R] (array of string, default: \f[CR][]\f[R]) : Exclude
patterns as regular expressions.
.SH THEME SECTION
Configures color palettes.
.PP
A dominant color is extracted from each wallpaper.
If a palette is selected, WallReel picks the closest palette color as
the primary color.
.PP
\f[CR]palettes\f[R] (array of object, default: \f[CR][]\f[R]) : Custom
palette definitions.
.PP
Each palette has:
.IP \[bu] 2
\f[CR]name\f[R] (string)
.IP \[bu] 2
\f[CR]colors\f[R] (array)
.PP
Each color item has:
.IP \[bu] 2
\f[CR]name\f[R] (string)
.IP \[bu] 2
\f[CR]value\f[R] (hex string, for example \f[CR]\[dq]#89b4fa\[dq]\f[R])
.SH ACTION SECTION
Configures commands executed for preview, selection, and restore
behavior.
.PP
\f[CR]previewDebounceTime\f[R] (integer, default: \f[CR]300\f[R]) :
Debounce interval in milliseconds for preview actions.
.PP
\f[CR]printSelected\f[R] (boolean, default: \f[CR]true\f[R]) : Print
selected wallpaper path to stdout on confirmation.
.PP
\f[CR]printPreview\f[R] (boolean, default: \f[CR]false\f[R]) : Print
previewed wallpaper path to stdout on preview.
.PP
\f[CR]onSelected\f[R] (string, default: \f[CR]\[dq]\[dq]\f[R]) : Command
executed when a wallpaper is confirmed.
.PP
\f[CR]onPreview\f[R] (string, default: \f[CR]\[dq]\[dq]\f[R]) : Command
executed when a wallpaper is previewed.
.PP
\f[CR]saveState\f[R] (array of object, default: \f[CR][]\f[R]) :
Commands for capturing system values before changing wallpaper.
.PP
Each item has:
.IP \[bu] 2
\f[CR]key\f[R] (placeholder key)
.IP \[bu] 2
\f[CR]fallback\f[R] (default value)
.IP \[bu] 2
\f[CR]command\f[R] (stdout\-mapped command)
.IP \[bu] 2
\f[CR]timeout\f[R] (milliseconds)
.PP
\f[CR]onRestore\f[R] (string, default: \f[CR]\[dq]\[dq]\f[R]) : Command
executed on restore.
Saved state keys are usable as placeholders.
.PP
\f[CR]quitOnSelected\f[R] (boolean, default: \f[CR]false\f[R]) : Exit
application immediately after confirming a selection.
.PP
\f[CR]restoreOnClose\f[R] (boolean, default: \f[CR]true\f[R]) : Run
\f[CR]onRestore\f[R] when application closes without a final selection.
.SS ACTION PLACEHOLDERS
The following placeholders are available in \f[CR]onSelected\f[R],
\f[CR]onPreview\f[R], and \f[CR]onRestore\f[R] (where applicable):
.PP
\f[CR]{{ path }}\f[R] : Full path of selected or previewed wallpaper.
.PP
\f[CR]{{ name }}\f[R] : File name of selected or previewed wallpaper.
.PP
\f[CR]{{ size }}\f[R] : Size in bytes of selected or previewed
wallpaper.
.PP
\f[CR]{{ palette }}\f[R] : Selected palette name
(\f[CR]\[dq]null\[dq]\f[R] if none).
.PP
\f[CR]{{ colorName }}\f[R] : Chosen primary color name
(\f[CR]\[dq]null\[dq]\f[R] if none).
.PP
\f[CR]{{ colorHex }}\f[R] : Chosen primary color hex
(\f[CR]\[dq]null\[dq]\f[R] if none).
.PP
\f[CR]{{ domColorHex }}\f[R] : Dominant color hex extracted from the
wallpaper.
.PP
\f[CR]{{ <key> }}\f[R] : Value of a saved state item with matching key.
.SH STYLE SECTION
Controls window layout and thumbnail dimensions.
.PP
\f[CR]image_width\f[R] (integer, default: \f[CR]320\f[R]) : Width of
each thumbnail.
.PP
\f[CR]image_height\f[R] (integer, default: \f[CR]180\f[R]) : Height of
each thumbnail.
.PP
\f[CR]image_focus_scale\f[R] (number, default: \f[CR]1.5\f[R]) : Focus
scale multiplier for highlighted thumbnail.
.PP
\f[CR]window_width\f[R] (integer, default: \f[CR]750\f[R]) : Initial
window width.
.PP
\f[CR]window_height\f[R] (integer, default: \f[CR]500\f[R]) : Initial
window height.
.SH CACHE SECTION
Controls persisted UI state.
.PP
\f[CR]saveSortMethod\f[R] (boolean, default: \f[CR]true\f[R]) : Persist
sort method and direction.
.PP
\f[CR]savePalette\f[R] (boolean, default: \f[CR]true\f[R]) : Persist
selected palette.
.PP
\f[CR]maxImageEntries\f[R] (integer, default: \f[CR]1000\f[R]) : Maximum
number of image cache entries.
Older entries are evicted.
.SH EXAMPLE
.IP
.EX
{
\[dq]$schema\[dq]: \[dq]https://raw.githubusercontent.com/Uyanide/WallReel/refs/heads/master/config.schema.json\[dq],
\[dq]wallpaper\[dq]: {
\[dq]paths\[dq]: [\[dq]/home/user/Pictures/favorite.jpg\[dq]],
\[dq]dirs\[dq]: [
{
\[dq]path\[dq]: \[dq]/home/user/Pictures/Wallpapers\[dq],
\[dq]recursive\[dq]: \f[B]true\f[R]
}
],
\[dq]excludes\[dq]: [\[dq]\[rs]\[rs].gif$\[dq]]
},
\[dq]theme\[dq]: {
\[dq]palettes\[dq]: [
{
\[dq]name\[dq]: \[dq]Dark\[dq],
\[dq]colors\[dq]: [
{ \[dq]name\[dq]: \[dq]blue\[dq], \[dq]value\[dq]: \[dq]#89b4fa\[dq] },
{ \[dq]name\[dq]: \[dq]red\[dq], \[dq]value\[dq]: \[dq]#f38ba8\[dq] }
]
}
]
},
\[dq]action\[dq]: {
\[dq]previewDebounceTime\[dq]: 500,
\[dq]quitOnSelected\[dq]: \f[B]true\f[R],
\[dq]onPreview\[dq]: \[dq]swww img {{ path }}\[dq],
\[dq]onSelected\[dq]: \[dq]cp {{ path }} \[ti]/.config/wallpaper/current/ && swww img {{ path }}\[dq],
\[dq]saveState\[dq]: [
{
\[dq]key\[dq]: \[dq]current_wp\[dq],
\[dq]fallback\[dq]: \[dq]/home/user/Pictures/default.jpg\[dq],
\[dq]command\[dq]: \[dq]find \[ti]/.config/wallpaper/current \-type f | head \-n 1\[dq],
\[dq]timeout\[dq]: 1000
}
],
\[dq]onRestore\[dq]: \[dq]swww img {{ current_wp }}\[dq]
},
\[dq]style\[dq]: {
\[dq]image_width\[dq]: 640,
\[dq]image_height\[dq]: 400,
\[dq]image_focus_scale\[dq]: 1.2,
\[dq]window_width\[dq]: 1280,
\[dq]window_height\[dq]: 720
},
\[dq]cache\[dq]: {
\[dq]saveSortMethod\[dq]: \f[B]true\f[R],
\[dq]savePalette\[dq]: \f[B]true\f[R],
\[dq]maxImageEntries\[dq]: 300
}
}
.EE
.SH SEE ALSO
\f[B]wallreel\f[R](1)
.SH AUTHOR
Uyanide <github.com/Uyanide>