-
-
Notifications
You must be signed in to change notification settings - Fork 1
Node Reference
Bobby Comet edited this page Aug 3, 2026
·
4 revisions
Conky Studio nodes are the building blocks of a project graph.
Source → (Logic) → Visual
- Sources produce a value each refresh (one output socket).
- Logic transforms values (inputs → one output).
- Visuals draw on the Conky surface (optional bindable inputs; no data output).
- Canvas is a special settings node (not drawn by Conky).
| Page | Contents |
|---|---|
| Sources | System, sensors, weather, media, custom script |
| Logic | Built-in math, gates, format |
| Visuals | Text, gauges, shapes, effects, Custom Lua |
| Plugins | Official plugin pack (threshold, smooth, units, …) |
| Custom Plugins | How to make plugins |
| Plugin Trust model | Why a JSON model over Python |
Wires are kind-aware. Compatible kinds can connect; mismatches are rejected in the editor.
| Kind | Typical meaning |
|---|---|
| percent | 0–100 scale (CPU, RAM, battery, progress) |
| celsius | Temperature in °C |
| number | Generic numeric (rates, MB, mapped values, 0/1 gates) |
| text | String |
| category | Discrete label (weather category, playback state) |
| boolean | Truthy signal (often 0/1 as number in practice) |
Sources advertise an output_kind. Logic nodes also have an output_kind. Visual bindable properties declare accepts: […] (which kinds may wire in).
If nothing is wired to a bindable property, the constant in the property panel is used.
Each node lists:
| Field | Meaning |
|---|---|
| Type id | Registry key stored in project JSON (e.g. source.cpu_percent) |
| Output | Kind of the single output socket (sources/logic only) |
| Properties | Panel fields; bindable = input socket on the left of that row |
| Range | Min/max when the editor enforces them |
| Notes | Behaviour, dependencies, codegen quirks |
Unused sources are not polled in the generated theme.
Not a data node. Select it to edit the HUD window:
| Property | Role |
|---|---|
| width / height | Workable resolution (drawable area) |
| alignment, gap_x, gap_y | Placement on the desktop |
| fps | Draw / update interval driver |
| stats_hz | How often native/cached sources are re-read |
| window_type |
auto / normal / desktop / dock; auto uses session defaults (see Hardware & Session) |
| transparent, window_class | ARGB / class hints |
Changing size does not auto-rescale existing visuals.
- Prefer percent sources → gauges/bars that expect 0–100.
- Use Logic → Map Range / Scale when units differ.
- Smooth (plugin) or Lerp for jittery sensors.
- Custom Script when no built-in source exists; set output_kind to match downstream.
- Custom Lua when no visual is enough; full Cairo escape hatch.