COLLECT. Environment-driven configuration, resolved once at the boundary.
Defaults match the reference GIMP plugin as shipped (localhost:9877) so a stock install needs no configuration at all. Every field is overridable, because a plugin reached over an ssh tunnel or from a container is the same protocol at a different address and should not need a code change.
No literal home directory and no machine-specific path appears here: this namespace ships inside a jar to consumers who are not on this box.
COLLECT. Environment-driven configuration, resolved once at the boundary. Defaults match the reference GIMP plugin as shipped (localhost:9877) so a stock install needs no configuration at all. Every field is overridable, because a plugin reached over an ssh tunnel or from a container is the same protocol at a different address and should not need a code change. No literal home directory and no machine-specific path appears here: this namespace ships inside a jar to consumers who are not on this box.
(->gimp-config kw__7458__auto__)Coerce a keyword to a GimpConfig variant (no data fields). Returns nil if keyword is not a valid variant.
Coerce a keyword to a GimpConfig variant (no data fields). Returns nil if keyword is not a valid variant.
5 seconds.
Separate from the read timeout on purpose. Connecting is fast or impossible: if the plugin is not listening, the OS refuses immediately, and the only case that takes time is an unreachable host. Waiting a read timeout to learn that GIMP is not running is 30 seconds of nothing.
5 seconds. Separate from the read timeout on purpose. Connecting is fast or impossible: if the plugin is not listening, the OS refuses immediately, and the only case that takes time is an unreachable host. Waiting a read timeout to learn that GIMP is not running is 30 seconds of nothing.
30 seconds.
Not arbitrary: the reference client uses 30s, and GIMP operations are synchronous on its main thread, so a scale or an export of a large image holds the socket for the whole operation. A shorter timeout does not cancel the GIMP-side work, it only makes us stop listening to it, which leaves the next request reading the tail of the previous answer.
30 seconds. Not arbitrary: the reference client uses 30s, and GIMP operations are synchronous on its main thread, so a scale or an export of a large image holds the socket for the whole operation. A shorter timeout does not cancel the GIMP-side work, it only makes us stop listening to it, which leaves the next request reading the tail of the previous answer.
(endpoint)(endpoint overrides)The resolved Endpoint, merged with any explicit overrides.
Overrides win over the environment so a caller holding a config map (a test, a second GIMP on another port) does not have to mutate process environment to be heard.
The resolved `Endpoint`, merged with any explicit overrides. Overrides win over the environment so a caller holding a config map (a test, a second GIMP on another port) does not have to mutate process environment to be heard.
(gimp-config variant-kw__7455__auto__)(gimp-config variant-kw__7455__auto__ data__7456__auto__)Construct a GimpConfig variant. (gimp-config variant-keyword) for enum variants (gimp-config variant-keyword data-map) for data variants
Throws ex-info for unknown variants.
Construct a GimpConfig variant. (gimp-config variant-keyword) for enum variants (gimp-config variant-keyword data-map) for data variants Throws ex-info for unknown variants.
(gimp-config? x__7457__auto__)True if x is a GimpConfig ADT value.
True if x is a GimpConfig ADT value.
Config ADT for GimpConfig. Auto-generated by defconfig.
Config ADT for GimpConfig. Auto-generated by defconfig.
Field registry for GimpConfig config.
Field registry for GimpConfig config.
Malli schema for resolved GimpConfig.
Malli schema for resolved GimpConfig.
Malli :multi schema (dispatch :adt/variant) for GimpConfig — generator-capable and EDN-safe wherever pred-sym->malli covers the declared field predicates.
Malli :multi schema (dispatch :adt/variant) for GimpConfig — generator-capable and EDN-safe wherever pred-sym->malli covers the declared field predicates.
(python-executable)Interpreter for the optional host-side Python port, or nil to let libpython-clj autodetect.
Interpreter for the optional host-side Python port, or nil to let libpython-clj autodetect.
(resolve-GimpConfig)(resolve-GimpConfig overrides)(resolve-GimpConfig overrides opts)Resolve GimpConfig from environment + overrides. Returns Result: (ok resolved-map) or (err :config/resolution-failed {...})
Resolve GimpConfig from environment + overrides.
Returns Result: (ok resolved-map) or (err :config/resolution-failed {...})(transport-kind)(transport-kind overrides)Which transport adapter to build: :socket or :python.
Anything unrecognised resolves to :socket rather than throwing. This is
read at mount time in a host process, and refusing to start an addon over a
typo in an optional environment variable trades a working default for an
outage. The chosen adapter is reported by transport-id in health and in
the doctor, so a typo is visible rather than silent.
Which transport adapter to build: `:socket` or `:python`. Anything unrecognised resolves to `:socket` rather than throwing. This is read at mount time in a host process, and refusing to start an addon over a typo in an optional environment variable trades a working default for an outage. The chosen adapter is reported by `transport-id` in health and in the doctor, so a typo is visible rather than silent.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |