Skip to content

Node Reference Visuals

Bobby Comet edited this page Aug 2, 2026 · 8 revisions

Node Reference — Visuals

Visuals draw in Conky's Cairo path. They have no data output. Rows marked as bindable accept wires (kind must be in accepts).

Common patterns:

  • cx, cy — centre placement
  • x, y — top-left style placement
  • color — solid or gradient where supported
  • opacity — 0–1
  • value / percent — often bindable from sources

Layers dock controls draw order, visibility (hidden → skipped in codegen), and lock.


Text

Text Label — visual.text

Position, font, size, colour, alignment; value bindable (text/number as string). Use for titles, readouts, fixed captions.

Text List — visual.text_list (if present)

Multi-line / list-oriented text block.

Wall Calendar — visual.wall_calendar

Highlights
x, y, cell size grid layout
week_start, show title/weekdays/outside days calendar rules
today_* colours emphasize current day
Font sizes for title/day /weekday

Gauges & bars

Arc / Ring Gauge — visual.arc_gauge

value bindable (typically percent/number)
cx, cy, radius, thickness, angles geometry
value_suffix, colours, caps labeling / style
Notes Primary "ring" widget; wire CPU/RAM percent directly when 0–100

Segmented Gauge — visual.segmented_gauge

value bindable
cx, cy, radius, thickness geometry
start_angle_deg, sweep_deg arc span
segment_count, gap_deg discrete lit/unlit segments instead of a smooth sweep
color (lit) / track_color (unlit) style
show_value_text, value_font_size, value_suffix optional centred readout
Notes LED-bar-style radial gauge — the arc equivalent of Bar's segmented style

Bar — visual.bar

value bindable
orientation / style enums solid, segmented, trapezoid variants as exposed
size, colours, gradients fill

Reactor Gauge — visual.reactor_gauge (if present)

Stylized gauge with accent/warn/critical thresholds and optional pulse.

Ring Track — visual.ring_track

Background arc track only (no value) — stack under a gauge for chrome.

LED Dot — visual.led_dot

value, threshold bindable value; on when condition vs threshold holds
color_on / color_off, glow, cx, cy, radius
Notes Threshold LED. Always-on blip → plugin Dot.

Graphs

History Graph — visual.history_graph

value bindable — samples over time
width/height, colours, line/fill style
Notes Keeps a rolling history in generated Lua

Sparkline — visual.sparkline

value bindable
auto_scale bool (default on) — fits the line to the min/max of the samples currently on screen
min_value, max_value only used when auto_scale is off; useful to keep several sparklines visually comparable
x, y, width, height position/size — sized for a dense dashboard row, not a standalone chart
history_length samples kept
line_width, fill, color style
Notes Same rolling-history mechanism as History Graph, but no frame is drawn — borderless by design

Multi-Series Line Graph — visual.multi_line_graph

value_a / value_b / value_c bindable — up to 3 independent series on one node
color_a / color_b / color_c per-series colour
min_value, max_value shared range across all series
x, y, width, height frame position/size
history_length, line_width shape/style
track_color frame colour
Notes Each series keeps its own rolling history; a series left unwired simply isn't drawn, so it's fine to use with only one or two of the three slots filled — e.g. CPU vs. GPU temperature, or upload vs. download speed

Effects

Glow / Pulse — visual.glow_pulse

Animated glow; rate/colours; optional value-driven intensity when bindable props exist.

Spiral — visual.spiral

Decorative spiral geometry.

Radar Sweep — visual.radar_sweep

Sweep/radar style effect.

Moon Phase — visual.moon_phase

Moon illustration driven by date logic in codegen.

Corner Brackets — visual.corner_brackets

HUD corner chrome.

Analog Clock — visual.analog_clock

cx, cy, radius face
hands, ticks, numerals, optional digital readout
colours per element

Shapes

Rectangle — visual.rectangle

x, y, width, height, corner radius, fill/stroke, colour, opacity.

Horizontal / Vertical Line — visual.hline / visual.vline

x, y, length, line_width, colour, opacity.

Crosshair — visual.crosshair

cx, cy, size, gap, stroke.

Star — visual.star

style regular N-point, pentagram, Star of David, Christmas tree star, …
points, inner_ratio, rotation
fill/stroke colours

Triangle — visual.triangle

Size/rotation or free corner coordinates; fill/stroke.

Circle — visual.circle

Full ellipse or arc/pie via start/sweep angles; fill/stroke.


Icons & images

Image / Icon — visual.image_icon

path file path (prefer theme images/ after build)
size, rotation
optional threshold path swaps when value crosses thresholds
Notes Absolute paths break when sharing JSON — see Sharing wiki

Weather Icon — visual.weather_icon

Driven by weather category / condition pipeline (Cairo icons in generated themes).

Album Art — visual.album_art

Player art path/size; depends on media scripts / playerctl ecosystem.

Icon Glyph — visual.icon_glyph

Font-glyph icon (codepoint / font props as exposed).


Advanced / Custom

Custom Lua — visual.custom_lua

Offset X / Y Translates the whole block without editing the Lua
Input 1–12 Bindable sockets — wire any source or logic node (sensors, Math, Custom Script, etc.). At draw time they appear as locals in1in12. Unwired slots are nil (not 0) so you can write tonumber(in1) or safe_number('${cpu}', 0)
Lua code Cairo drawing with cr, W, H already in scope, plus framework helpers (clamp, lerp, rounded_rect, load_image_cached, wall_clock, etc.)
Notes Escape hatch: drawing the palette doesn't cover, and the legacy importer's landing place for unmapped Cairo. Runs on the same draw path as other visuals and does not require wires to work. Legacy import leaves internal vitals/cache reads intact; Studio does not auto-rewire them onto the graph. To mix Studio data later, wire Inputs and edit the Lua to read in1in12. Build may attach asset_paths so images land under assets/ and images/.

Click actions

Where supported, visuals can define on_click_command and an explicit click region (x, y, w, h) so Conky mouse hooks run a shell command. See project model/property panel for the node types that expose them.


Gradients

Fill-capable gauges, bars, and shapes may support solid/linear/radial fills via colour properties (gradient editor in the property panel). Unsupported nodes ignore gradient mode. (Sparkline and Multi-Series Line Graph use solid line colours only; Segmented Gauge uses solid lit/unlit colours only — none of the three take a gradient.)

Clone this wiki locally