-
-
Notifications
You must be signed in to change notification settings - Fork 1
Node Reference Sources
Every source has one output socket (kind below). Properties are usually constants (device names, formats), not bindable inputs. Wire the output into a Logic node or a Visual bindable property (gauges, text, graphs, LEDs, triggers).
Kinds at a glance
| Kind | Meaning | Typical targets |
|---|---|---|
percent |
0–100 float | Arc gauge, bar, LED, history/sparkline |
celsius |
Temperature °C | Text, or Map Range → gauge |
number |
Unitless float (MB/s, RPM, MHz, …) | Scale/Map Range → gauge; Text via String Format |
text |
Display string | Text Label, String Join |
category |
Short token (clear, playing, …) |
Weather Icon, Enum Map, conditionals |
Unused sources are not polled in the export (unless a Custom Script is daemon/self-caching and must run for Custom Lua).
| Output | percent |
| core | enum — overall or cpu0…cpu7
|
What it does: Reads Conky’s ${cpu} / ${cpu cpuN} — no extra process.
How to use: Wire straight into an Arc Gauge, Bar, or History Graph. For a quieter needle, put Smooth (EMA) in between.
Example: Overall CPU → Arc Gauge (value_suffix = %). Per-core strip without wiring: use CPU Core Strip visual (polls cores itself).
| Output | number |
| core | enum — overall ≈ core 0 (${freq}); else ${freq N}
|
What it does: Current clock in MHz.
Example: Text Label with String Format CPU {value} MHz, or Map Range 800–5000 → 0–100 into a small bar as a “boost” meter.
| Output | percent |
Example: Bar or Arc Gauge. Pair with Invert Percent if you prefer “free RAM” style.
| Output |
text (e.g., 3.2GiB / 16.0GiB) |
What it does: Conky’s human-formatted ${mem} / ${memmax} — not raw numbers.
Example: Two Text Labels: Used + RAM Used, Total + RAM Total. For gauges use RAM Usage percent instead.
| Output | percent |
Example: LED that lights when swap ≥ 10% (early thrashing warning).
| Output | percent |
| mount_path | path (default /) |
Example: Segmented gauge for /, second node for /home. Critical pulse on Bar when ≥ 90%.
| Output |
percent (or unavailable on desktops) |
| device | string (default BAT0) |
What it does: Quietly reports nothing when no battery is present (no fake 0%/100%).
Example: Arc Gauge + LED below 20%. Invert Percent for “empty bar grows as battery dies” is optional styling.
| Output |
number (KiB/s) |
| interface |
auto or e.g. wlan0
|
What it does: Instantaneous speed; auto picks the first up interface at runtime.
Example: Multi-Series Line Graph: series A = down (cyan), series B = up (amber). Or two sparklines in a dense row.
| Output |
text (human cumulative) |
| interface |
auto or iface name |
Example: Caption under the live speed graph: “Session ↓ …” / “↑ …”.
| Output | text |
| interface | prefer explicit wlan0 if auto picks Ethernet |
Example: Text Label in a status row next to Wi-Fi Signal.
| Output | percent |
Example: Small bar or LED (threshold 40%) for weak-signal warning.
| Output | text |
| poll_mode | default daemon (network can hang) |
| poll_interval | seconds (default 1800) |
What it does: icanhazip.com, fallback ifconfig.me.
Example: Text row “WAN: …” for VPN checks — if the IP is not your VPS, the tunnel is down.
| Output | text |
| format |
short / long
|
Example: Footer caption on a sysadmin HUD.
| Output | text |
Example: Header: hostname bold, kernel dim underneath.
| Output | number |
Example: Text via String Format Procs {value}.
| Output | text |
| which |
all / 1 / 5 / 15
|
Example: Terminal-style line load: 0.42 0.38 0.31 with all.
| Output | number |
Example: Compact stats row with process count.
| Output | name → text; cpu/mem → percent
|
| rank |
1–10 (CPU-ranked list) |
What it does: Conky ${top … N}. All three ranks share the same CPU ordering.
Example: Rank 1 name + CPU% as two Text Labels, or use Top Processes Table visual (no wiring needed).
| Output |
text (Good Morning / Good Afternoon / Good Night) |
What it does: Pure Lua from hour-of-day; no script.
Example: Large title Text Label at the top of a dashboard.
| Output | text |
| strftime_format | e.g. %A, %B %d %H:%M
|
Example: Clock readout; for a full analog face use Analog Clock visual instead.
External sources support poll_mode: execi (simple Conky cache) or daemon (background loop, zero stutter at high FPS).
| Output | celsius |
| chip_pattern | advanced regex for sensors -u chips |
| poll_* | interval/mode |
Example: Map Range 30–95 → 0–100 into Needle Gauge; Hysteresis → LED so it doesn’t flicker at the threshold.
| Type | Output |
|---|---|
source.gpu_util |
percent |
source.gpu_temp |
celsius |
source.gpu_vram_used / _total
|
number (MB) |
What it does: NVIDIA via nvidia-smi, AMD via sysfs. Optional amd_drm_card on hybrid laptops.
Example: GPU util → Arc Gauge; VRAM used/total → Math (divide) → percent bar; util + temp on Multi-Series graph.
| Output | celsius |
| device | e.g. /dev/sda
|
| poll_interval | often 30s+ |
Notes: May need elevated permissions for smartctl.
| Output | number |
What it does: First non-zero hwmon*/fan1_input.
Example: Text Fan {value} RPM; Rate of Change → rising airflow indicator.
Shared poll props: prefer daemon, interval ~1800s. Optional fallback_location (e.g. Henderson+KY).
Human string (Partly cloudy).
Token: clear / cloud / rain / storm / snow / etc → Weather Icon or Enum Map → opacity.
Example: Condition Text + category → Weather Icon + temp Text with suffix °F. For °C use Scale/Map Range or a convert plugin.
Shared player name (default spotify) and poll settings.
| Node | Output | Use |
|---|---|---|
| Track Title/Artist/Album | text |
Text Labels; String Join for Artist — Title
|
| Playback Status | category |
playing/paused/stopped → image swap or Conditional |
| Playback Progress % | percent |
Bar or Equalizer Bars trigger |
Example: Album Art + title/artist row + progress bar. Empty title when nothing is playing (no stale text).
| Output | From Treat output as (text/number/percent/celsius/category) |
| Script path / Inline script | Path or body (inline wins) |
| poll_mode / poll_interval |
execi or daemon
|
What it does: Escape hatch for shell metrics and legacy sensors.sh / weather.sh. Self-caching scripts keep their own cache filenames so Custom Lua keeps working. Unwired daemon custom scripts still run for pure-Lua themes.
Example: Inline echo "$(df -h /data | awk 'NR==2{print $5}')" as percent after stripping %, or a one-liner JSON parse for a home sensor.
| Goal | Chain |
|---|---|
| Quiet noisy CPU | CPU % → Smooth → gauge |
| °C → ring | CPU temp → Map Range 20–100 → 0–100 → Arc Gauge |
| Warn without flicker | Temp → Hysteresis → LED/Glow trigger |
| Artist — Title | Artist + Title → String Join → Text |
| Weather art | Category → Weather Icon; condition → Text |
| Dual thermal trend | CPU temp + GPU temp → Multi-Series A/B |