Skip to content

Node Reference Visuals

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

Node Reference — Visuals

Visuals draw in Conky’s Cairo path. They have no data output. Rows marked 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 — often bindable from sources / logic

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


Gradients

Fill-capable nodes may expose:

Prop Role
fill_mode solid / linear / radial
color_end second stop (ignored when solid)
gradient_angle linear direction in degrees (0 = L→R, 90 = T→B)
gradient_spread radial outer stop as multiple of radius

Nodes that include gradient props in the current build include Arc Gauge, Bar, Glow/Pulse, Spiral, Weather Icon, History Graph, Reactor Gauge, Star, Triangle, Circle, Wall Calendar, Rectangle, H/V Line, Crosshair, Ring Track, LED Dot, and others that append _GRADIENT_FILL. Unsupported modes fall back to solid.


Text

Text Label — visual.text

value bindable (text / category / number / percent / celsius)
prefix, suffix strings
decimals int 0–4 (numeric bound values)
x, y, align position; align left / center / right
font_family, font_size, bold, italic typography
color, halo style; halo = soft outline for busy backgrounds

Text List — visual.text_list

Multi-line / list-oriented text block (rows driven by bound or constant text).

Wall Calendar — visual.wall_calendar

x, y, cell_w, cell_h grid layout
week_start monday / sunday
show_title, show_weekdays, show_outside_days layout toggles
today_style fill / ring / bold
Font sizes + colours for title / weekday / day / today / outside / grid
opacity overall transparency
Gradient props on today fill where supported

Gauges & bars

Arc / Ring Gauge — visual.arc_gauge

value bindable
min_value, max_value range (default 0–100)
cx, cy, radius, thickness geometry
start_angle_deg, sweep_deg 360 = full ring; 270 = classic gauge gap
cap_style butt / round
color, track_color, track_alpha fill + track
show_value_text, value_font_size, value_suffix centre readout
Gradient props yes

Bar — visual.bar

value bindable
min_value, max_value range
x, y, width, height box
orientation horizontal / vertical
style solid / segmented / trapezoid (Skyrim-style slant)
segment_count, corner_radius style-dependent
color, track_color
pulse_when_critical, critical_threshold flash when value ≥ threshold
Gradient props yes

Segmented Gauge — visual.segmented_gauge

LED-bar-style radial gauge: discrete lit/unlit arc segments.

value bindable
cx, cy, radius, thickness
start_angle_deg, sweep_deg default sweep 270°
segment_count, gap_deg segment geometry
color, track_color lit / unlit
show_value_text, value_font_size, value_suffix

Reactor Gauge — visual.reactor_gauge

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

Ring Track — visual.ring_track

Static ring or arc track (no value) — stack under an Arc Gauge for chrome.

cx, cy, radius, thickness
start_angle_deg, sweep_deg
cap_style butt / round
color, opacity
Gradient props yes

LED Dot — visual.led_dot

value bindable
threshold on when value ≥ threshold (default 0.5)
cx, cy, radius
color_on, color_off, glow
opacity
Gradient props applied when “on”

Graphs

History Graph — visual.history_graph

value bindable — samples pushed into a ring buffer each stats refresh
min_value, max_value fixed scale
x, y, width, height
history_length samples kept (default 48)
Line / fill / frame colours as exposed
Gradient props where supported

Sparkline — visual.sparkline

Compact borderless trend line (same ring-buffer mechanism).

value bindable
auto_scale fit to recent min/max (default on); off → use fixed Min/Max
min_value, max_value used when auto_scale is off
x, y, width, height, history_length
line_width, fill, color

Multi-Series Line Graph — visual.multi_line_graph

Up to three series sharing one axis and fixed Min/Max.

value_a / b / c bindable (unwired series are not drawn)
color_a / b / c per-series colours
min_value, max_value
x, y, width, height, history_length
line_width, track_color

Each wired series gets its own HIST[id_suffix] buffer.


Effects

Glow / Pulse — visual.glow_pulse

cx, cy, radius
mode circle / image / star / triangle
path image file when mode = image (PNG with alpha recommended)
star_points, star_inner_ratio star mode
layers, spread multi-pass halo
color
pulse_hz, alpha_min, alpha_max animation
trigger, trigger_threshold, trigger_mode bindable gate (above / below)
Gradient props yes

Spiral — visual.spiral

cx, cy
turns, radius_start, radius_end
dash_count 0 = continuous stroke; >0 = ticks along path
line_width, color
rotation_speed_dps deg/sec (0 = static; negative = reverse)
Gradient props yes

Radar Sweep — visual.radar_sweep

Sweep / radar style effect (geometry + animation props as exposed).

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, line_width
color, stroke_color, opacity
Gradient props yes

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

x, y, length, line_width
color, opacity
Gradient props yes

Crosshair — visual.crosshair

cx, cy, size, gap arm length + centre gap
line_width, color, opacity
Gradient props yes

Star — visual.star

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

Triangle — visual.triangle

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

Circle — visual.circle

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


Icons & images

Image / Icon — visual.image_icon

path PNG or SVG (copied into theme images/ at build)
x, y, size fit box
rotation_deg bindable (spinning needle / gear)
opacity
swap_trigger bindable numeric
swap_above_path / swap_above_threshold image if trigger ≥ threshold
swap_below_path / swap_below_threshold image if trigger ≤ threshold

SVG needs Conky’s RSVG Lua binding; missing binding skips the element with one warning.

Weather Icon — visual.weather_icon

Hand-drawn vector icon chosen by category (no image files).

category bindable categoryclear / cloud / overcast / fog / wind / rain / storm / snow / cold / hot / dust / unknown
cx, cy, size
color ink for cloud/rain/fog/wind/dust; clear/hot/snow/cold use fixed tones
Gradient props yes

Album Art — visual.album_art

Player / size / fallback image
Notes Always daemon-mode: background script fetches mpris:artUrl via playerctl + curl into .runtime-cache/. Periodic image reload (mtime-aware) so the same path can change per track.

Icon Glyph — visual.icon_glyph

Font-glyph icon (codepoint / font props as exposed). UTF-8 encode helper is in the runtime framework.


Advanced

Custom Lua — visual.custom_lua

Offset X / Y Translates the whole block without editing the Lua
Input 1–6 (in1in6) Bindable — wire any source or logic node. Available as locals at draw time (use tonumber(in1) when numeric)
Lua code Cairo drawing with cr, W, H in scope, plus framework helpers (clamp, lerp, rounded_rect, load_image_cached, wall_clock, …)
Notes Escape hatch for drawing the palette doesn’t cover, and the legacy importer’s landing place for unmapped Cairo. Prefer wiring Inputs 1–6 instead of hard-coded conky_parse / cache paths.

Click actions

Where supported, visuals can define on_click_command and an explicit click region (click_x, click_y, click_w, click_h). When any visible clickable node exists, codegen emits lua_mouse_hook = 'mouse_handler' and a mouse_handler that shells out on left button-down inside the region.


Canvas (pseudo-node)

Canvas — canvas.root

Always present, non-deletable. Maps 1:1 onto window / FPS settings consumed by conky_conf_gen (no draw function of its own).

Group Props
Size width, height, alignment, gap_x, gap_y
Performance fps (draw rate), stats_hz (sensor refresh, independent of FPS)
Window window_type (auto / normal / desktop / dock), transparent, window_class

Clone this wiki locally