Krolyxon
Commit a44bdf7

Branches

Tags

Refs →

remagesrcconfigdefault.toml

211 lines · 6.8 KB · TOML

1# remage configuration — the complete default.
2#
3# Copy only what you want to change into ~/.config/remage/config.toml: your file is merged
4# over these defaults, so a partial file is fine. `remage --check-config` validates it.
5# Changes apply live, and SIGUSR1 or the `reload-config` action reload by hand.
6
7# Files merged before this one, in order; this file wins. `~` and `$VAR` expand, relative
8# paths resolve against this file's directory, and a missing include is only a warning.
9# include = ["~/.cache/matugen/remage.toml"]
10include = []
11
12[general]
13open_siblings = true # a single file argument opens its whole directory
14recursive = false # descend into directory arguments
15sort = "natural" # natural | name | mtime | size | random
16reverse = false
17start_mode = "image" # image | grid
18wrap = true # next on the last image goes to the first
19watch_dir = true # add and drop files that appear or vanish on disk
20
21[window]
22decorations = false
23title = "{name} — remage" # placeholders as in ui.statusbar_left
24class = "remage" # Wayland app_id / X11 class
25fullscreen = false
26
27[image]
28fit = "down" # down (fit, never enlarge) | fit | fill | width | height | original
29zoom_step = 1.25
30filter = "auto" # auto (nearest above 300%) | linear | nearest
31alpha_background = "dots" # dots | checker | solid
32auto_orient = true # apply EXIF orientation
33color_management = true # convert ICC / CICP colour to sRGB
34preload = 2 # images decoded and uploaded on each side
35cache_mb = 512 # decoded-image cache budget
36slideshow_delay = 5.0 # seconds
37
38[grid]
39sizes = [96, 128, 160, 224, 320]
40size = 160
41gap = 16
42thumbnail_cache = true # read and write the shared freedesktop thumbnail cache
43names = false # filenames under thumbnails
44
45[ui]
46statusbar = true
47which_key_delay_ms = 300 # pending keys wait this long before which-key shows
48scale = 1.0 # UI size multiplier on top of the display scale
49# Status bar templates. Placeholders: {name} {path} {dir} {stem} {ext} {format} {width}
50# {height} {zoom} {index} {count} {marked} {frame} {mode} {filter} {info}. Two or more spaces
51# separate segments; a segment whose placeholder is empty right now (no image in the grid,
52# say) drops out.
53statusbar_left = "{name}"
54statusbar_right = "{format} {width}×{height} {zoom}% {index}/{count}"
55# Run for each image shown, like nsxiv's image-info: `<command> FILE WIDTH HEIGHT` through
56# sh. Its last stdout line fills {info}, or replaces the left side if no template has {info}.
57info_command = ""
58font_ui = "Space Grotesk"
59font_mono = "Space Mono"
60font_display = "Doto"
61
62[animation]
63enabled = true
64duration_ms = 180
65transition = "fade" # fade | none
66
67[theme]
68preset = "nothing-dark" # nothing-dark | nothing-light
69# Read colours from pywal: special.background / special.foreground / colors.color1.
70# pywal = "~/.cache/wal/colors.json"
71#
72# background, foreground and accent are enough; every other token is derived from them.
73# Any token can be set explicitly as "#RRGGBB" or "#RRGGBBAA":
74# background = "#000000"
75# foreground = "#FFFFFF"
76# accent = "#D71921"
77# surface surface_raised border border_visible text_disabled text_secondary
78# text_primary text_display success warning image_background
79
80# Key bindings. Values are an action, an array of actions run in order, or "none" to remove
81# a default. Mode tables override [keys.global]; visual mode also inherits [keys.grid].
82# Notation is vim's: n G <C-x> <S-Tab> <Space>w <CR> <BS> <Esc> <F5> <lt> <Bar>, plus
83# <LeftMouse> <RightMouse> <MiddleMouse> <ScrollUp> <ScrollDown> with modifiers (<C-ScrollUp>).
84# A count typed first applies to the action: 5n, 12G, 3+.
85
86[keys.global]
87"q" = "quit"
88"<CR>" = "mode toggle"
89"n" = "next"
90"p" = "prev"
91"<BS>" = "prev"
92"]" = "next 10"
93"[" = "prev 10"
94"gg" = "first"
95"G" = "last"
96"<Home>" = "first"
97"<End>" = "last"
98"m" = "mark"
99"M" = "invert-marks"
100"u" = "unmark-all"
101"N" = "next-mark"
102"P" = "prev-mark"
103"f" = "fullscreen"
104"b" = "bar"
105"i" = "info"
106"r" = "reload"
107"D" = "remove"
108"s" = "slideshow"
109":" = "palette"
110"/" = "search"
111"?" = "help"
112"<Esc>" = "cancel"
113
114[keys.image]
115"h" = "pan left"
116"j" = "pan down"
117"k" = "pan up"
118"l" = "pan right"
119"<Left>" = "pan left"
120"<Down>" = "pan down"
121"<Up>" = "pan up"
122"<Right>" = "pan right"
123"H" = "pan-edge left"
124"J" = "pan-edge down"
125"K" = "pan-edge up"
126"L" = "pan-edge right"
127"z" = "center"
128"+" = "zoom in"
129"-" = "zoom out"
130"=" = "zoom 100%"
131"w" = "fit fit"
132"W" = "fit fill"
133"e" = "fit width"
134"E" = "fit height"
135"<lt>" = "rotate ccw"
136">" = "rotate cw"
137"|" = "flip h"
138"_" = "flip v"
139"a" = "filter toggle"
140"A" = "alpha-bg cycle"
141"{" = "gamma -"
142"}" = "gamma +"
143"<C-Space>" = "play"
144"<C-n>" = "next-frame"
145"<C-p>" = "prev-frame"
146"<ScrollUp>" = "zoom in"
147"<ScrollDown>" = "zoom out"
148
149# In the grid a click selects a thumbnail and a double-click opens it; dragging scrolls.
150[keys.grid]
151"h" = "move left"
152"j" = "move down"
153"k" = "move up"
154"l" = "move right"
155"<Left>" = "move left"
156"<Down>" = "move down"
157"<Up>" = "move up"
158"<Right>" = "move right"
159"<C-d>" = "page half-down"
160"<C-u>" = "page half-up"
161"<C-f>" = "page down"
162"<C-b>" = "page up"
163"<PageDown>" = "page down"
164"<PageUp>" = "page up"
165"0" = "row-start"
166"^" = "row-start"
167"$" = "row-end"
168"+" = "grid-size +"
169"-" = "grid-size -"
170"v" = "visual"
171"<ScrollUp>" = "scroll up"
172"<ScrollDown>" = "scroll down"
173
174[keys.visual]
175"m" = "mark on"
176"v" = "mode grid"
177"<Esc>" = "mode grid"
178
179# User commands: bind them as "run <name>"; unbound ones still show in the : palette.
180#
181# [commands.wallpaper]
182# desc = "Set as wallpaper"
183# run = ["setwall", "-p", "{file}"] # array: exec directly, {files} expands to N args
184#
185# [commands.copy]
186# desc = "Copy image"
187# run = "wl-copy --type image/png < {file}" # string: sh -c, placeholders shell-quoted for you
188#
189# [commands.delete]
190# desc = "Delete files"
191# run = ["rm", "--", "{files}"]
192# confirm = "Delete {count} file(s)?" # asks inline; y runs it, any other key cancels
193#
194# [commands.legacy] # an nsxiv key-handler works unchanged
195# run = ["~/.config/nsxiv/exec/key-handler", "w"]
196# stdin = "files"
197#
198# Fields: targets = auto (marked, else current) | current | marked | all,
199# stdin = none | files | files0, output = status (last stdout line) | actions (each line runs
200# as an action) | ignore, after = actions run on success (default "refresh": drop deleted
201# files, reload changed ones).
202# Placeholders: {file} {dir} {name} {stem} {ext} {index} {width} {height} describe the current
203# image; {files} and {count} the targets. In an array, an element containing {files} repeats
204# once per target. Commands also see $REMAGE_FILE $REMAGE_INDEX $REMAGE_COUNT $REMAGE_MODE
205# $REMAGE_SOCKET $REMAGE_PID. In a binding array, actions after a `run` wait for it to succeed.
206[commands]
207
208# External decoders for anything else; they write PNG, PPM or TIFF to stdout.
209# [[decoders]]
210# match = ["*.psd"]
211# run = ["magick", "{file}[0]", "png:-"]