-
-
Notifications
You must be signed in to change notification settings - Fork 1
Features
Bobby Comet edited this page Aug 23, 2026
·
8 revisions
Everything Conky Studio is built to do, grouped by area.
| Feature | What it means |
|---|---|
| Visual system design | Build HUDs as a node graph (sources → logic → visuals), not only by hand-editing conf/Lua |
| 1:1 live preview | Preview runs a real Conky process on the same generation pipeline as Build — not a mock canvas |
| Production export | Output is a normal theme folder: start.sh, conky.conf, render.lua, scripts, assets |
| Portable projects | Save as .cstudio packages (project.json + assets + manifest); relative paths travel with the graph |
| No root required for Studio | AppImage-style use; no sudo/pkexec required to run the editor (Conky itself is still your system’s package) |
| Session-aware | Detects X11/Wayland, compositor, Conky build, sensors, GPU, monitors; preflights Live Preview/Start |
| Feature | Detail |
|---|---|
| Manager tab | Lists themes under ~/.config/conky / ~/.conky; Start/Stop via each theme’s start.sh; open folder; edit README + theme.json; install/export zip; uninstall |
| Studio tab | Full editor: palette, canvas, properties, layers, windows, live preview, position stage |
| Store tab |
Theme Vault (browse/link-out catalog) + OpenDesktop/Pling (OCS search + install into ~/.config/conky/) |
| Project menu | New HUD (wizard), New Blank HUD, Open/Save (.cstudio or legacy JSON), Build to Folder, Build & Install, Import Legacy Theme |
| Tools menu | Hardware & Session report, Install Font, Plugins |
| Help menu | Getting Started, Learn Studio, Learn Theme Wizard, Take the Full Tour (Wizard → Studio → Manager → Store), Support |
| Theme Wizard on launch | Optional first-run / every-launch wizard; “Do not show again” preference |
| Undockable panels | Nodes, Layers, Properties, Windows, Live Preview, Position Stage as docks |
| Feature | Detail |
|---|---|
| Node graph | Drag nodes, connect sockets, delete selection |
| Pan/zoom | Drag empty space to pan; Ctrl+scroll to zoom |
| Multi-select | Shift + rubber-band |
| Socket wiring | Output (sources/logic) → bindable inputs; kind-aware socket colours |
| Data-flow highlight | Selecting a node emphasizes related wires |
| Groups | Multi-select → group; collapse/expand; rename; members move with frame; editor-only |
| Free-form labels | Canvas annotations; double-click to edit; editor-only |
| Context menu | Delete, group, ungroup, collapse, labels |
| Canvas node | Window size, alignment, gaps, FPS, stats Hz, transparency, window type |
| Feature | Detail |
|---|---|
| Categorized palette | Data Sources/Logic/Visuals/Canvas Extensions; collapsible sections; Simple vs Complex; search; drag or double-click to add |
| Property panel | Typed editors (float, int, bool, color, string, enum, font, path, code); groups; help text |
| Bindable properties | Constants or live wires; unbind when connected |
| Layers dock | Visuals only: drag-reorder (top = drawn last); eye (hide → skipped in codegen); lock (no canvas move) |
| Windows/Monitors dock | Multi-window projects; pin each window to a monitor output; per-window size/alignment |
| Position Stage | Drag visual proxies on a plane the size of the Conky window; fine-tune X/Y in Properties |
| HUD/project name | Must be space-free (hyphens); becomes install folder name on Build & Install |
| Feature | Detail |
|---|---|
| Live Preview Start/Stop | Real Conky on a scratch build of the current graph |
| Debounced rebuild | Graph changes schedule a restart (~350 ms); graceful SIGTERM before SIGKILL to avoid BadWindow races |
| Window selector | When the project has multiple windows, choose which conf Live Preview runs |
| Session preflight | Blocks or warns (GNOME Mutter Wayland, missing Conky, X11-only binary, etc.) with concrete guidance |
| Log + hints | Conky stderr/stdout in the panel; known errors annotated with [hint] lines |
| Daemon cache priming | One synchronous run of daemon-mode scripts so preview shows real values immediately |
| Feature | Detail |
|---|---|
| Categories | Minimal, Gaming, RPG, Sci-Fi, Cyberpunk, Terminal, Fantasy, Arkhamos (and similar) |
| Resolution presets | 1920×1080, 2560×1440, 3440×1440, 3840×2160, etc |
| Panels | Weather, CPU, GPU, RAM, Disk, Battery, Network, Clock, Calendar, Music, Moon, System, … |
| Complexity tiers | Simple (signature element only), Full (chrome + real Source → Logic → Visual demo chain), Showcase (orbits, per-core strip, top table, footer ticker, signature flourish, etc) |
| Extras toggles | Chrome, brackets, LEDs, graphs, glow, gradient fills, secondary gauges, smooth motion, signature effect, orbit, core strip, top table, footer ticker |
| Learning-tool default | Sensor nodes default to execi so you can see stutter; tour teaches switching to Background daemon for zero-stutter HUDs |
| Starter graph | Full editable project; not a locked template; rename with hyphens before Build & Install |
| In-dialog tour | “Take the tour” after picking a category; full-app guided tour pre-selects Minimal + Showcase |
| Feature | Detail |
|---|---|
| Native system sources | CPU, RAM, disk, network, uptime, hostname, kernel, processes, battery, date/time, etc |
| GPU/sensors | GPU util/temp/VRAM, CPU/board temp, fan RPM, disk temp (lm-sensors/nvidia-smi/smartctl where available) |
| Weather | Category, condition, temp; daemon-friendly poll defaults |
| Music/now playing | playerctl-oriented path |
| Custom Script | Any executable; poll interval; execi or daemon (background + cache) |
| Source plugins | Community JSON packs that add new polled sources (same harness as Custom Script) |
| Unused sources omitted | Codegen skips sources not wired into the graph |
Built-ins sit between sources and visuals (dependency order each refresh). Examples:
| Area | Examples |
|---|---|
| Math | Math ops, scale/offset, invert percent, absolute, round, etc |
| Rules | Conditional, threshold, hysteresis, AND/OR, pick A/B, etc |
| Range / smooth | Map range, clamp, lerp, deadzone, EMA smooth |
| Format | String format, string join, enum map |
Plugins can add more without core changes.
| Area | Examples |
|---|---|
| Text | Text label, text list, wall calendar |
| Gauges & bars | Arc/ring gauge, bar variants, reactor gauge, ring track, LED, segmented, etc |
| Graphs | History, sparkline, multi-series, radar, top table |
| Effects | Glow/pulse, spiral, matrix rain, orbit field, equalizer, fan, vinyl, signature flourishes |
| Shapes | Rectangle, lines, brackets, crosshair, stars, triangle, circle/arc/pie, etc |
| Media & icons | Image/Icon (PNG/SVG + threshold swaps), weather icon, album art |
| Advanced |
Custom Lua — full Cairo in the shared draw path (cr, W, H) |
| Feature | Detail |
|---|---|
| Colour | Colour picker for visuals |
| Gradients | Linear/radial fills when enabled |
| Click actions | Explicit regions → shell command on click |
| Draw order | Layers dock (and node z) |
| Visibility/lock | Hide (skipped in codegen) or lock (no canvas move) |
| Feature | Detail |
|---|---|
| Multiple Conky windows | One project can emit several own_windows (primary + extras) |
| Monitor pin |
auto / primary / concrete output (DP-1, HDMI-A-1, etc) from xrandr / wlr-randr |
| Per-window geometry | Size, alignment, gaps, FPS, window type |
| Optional per-window node lists | Limit which visuals appear on a given window |
| Live Preview window combo | Pick which window conf the preview process runs |
theme.json monitor |
Manager can inject xinerama_head at Start when pinned |
| Feature | Detail |
|---|---|
| conky.conf | Window and update settings from Canvas/windows |
| render.lua | Framework + per-node draw/logic emission |
| start.sh | Single-instance lock, optional background pollers, then conky -c …
|
| scripts/ | Generated or copied helpers for daemon/execi sources |
| images/ · fonts/ | Assets as required by the graph |
| theme.json | Metadata for Manager/Store (name, author, resolution, requires, tags, monitor, etc) |
| README.md | Human notes; editable from Manager |
| Independent processes | Themes keep running after Studio quits |
| Minimal start.sh for third-party themes | Archive install writes a launcher when the theme had none |
Build to Folder vs Build & Install; same generator. Install targets the tree Manager scans.
| Feature | Detail |
|---|---|
| Discover themes | Scans ~/.config/conky and related roots |
| Start / Stop | Runs each theme’s start.sh (Studio need not stay open) |
| Archive install | Drop .zip / .tar.gz or use Install; auto-adds start.sh when missing |
| Export / Duplicate / Uninstall | Package or remove selected themes |
| README + theme.json editors | In-place metadata for the library list |
| Refresh | Rescan after external changes |
| Feature | Detail |
|---|---|
| Theme Vault | Static catalog (official + community manifests); browse, filter by host, open link/README; install when host is GitHub (latest Release) or Pling / openDesktop (OCS) |
| OpenDesktop/Pling (OCS) | Live search, categories, install into ~/.config/conky/
|
| ocs:// / ocss:// handling | Parse + install; single-instance forward to a running Studio |
| GitHub releases | Theme Vault prefers release assets; falls back to tag source archive (never a guessed branch) |
| Trust model | Link-out for unknown hosts; scripts run on your machine like any other Conky theme |
| Feature | Detail |
|---|---|
| JSON packs only | Metadata + Lua (or bash) templates; no plugin Python |
| Categories |
logic, visual, source (polled script), canvas_ext (allowed conky.conf directives only) |
| Local + remote |
~/.config/conky-studio/plugins/; Fetch catalog; explicit Install/Uninstall; installed list survives restart |
| Validation | id shape, kinds, placeholder coverage; validate_only for authors |
| Icons/media metadata | Optional icon (palette); screenshot/gif/video for store sites |
| Trust model | Same privileges as theme scripts inside Conky |
| Feature | Detail |
|---|---|
| Self-contained zip |
project.json + manifest.json + assets/{images,fonts,scripts}/
|
| Relative paths | External images/scripts/fonts rewritten into the package on save |
| Legacy JSON still opens | Next Save can upgrade to .cstudio
|
| Work tree cache | Extracted under ~/.cache/conky-studio/packages/ for continued editing |
| Feature | Detail |
|---|---|
| Folder import | Point at a theme with conf/TEXT/Lua/scripts |
Native sources from ${…} |
Common vars → source nodes and wires |
| exec → Custom Script or known families | Best-effort |
| Lua → Custom Lua node(s) | Heavy Cairo stays text, not decompiled into gauges |
| Click regions | When detected |
Limitations (by design): not pixel-perfect; images/media not fully turned into image nodes; ${if_…} simplified; finish in Studio, then Build.
| Feature | Detail |
|---|---|
| Hardware & Session report | Display server, desktop, layer-shell likelihood, Conky install/version/Wayland, monitors, GPU, net, disks, sensors |
| Distro-aware install hints | Missing lm-sensors/playerctl → exact apt / dnf / pacman / … commands from /etc/os-release
|
| Monitor enumeration | xrandr/wlr-randr → UI choices for window pinning |
| Log diagnostics | Map known Conky/X errors to user guidance |
| Font installer | Tools → Install Font → ~/.local/share/fonts + fc-cache
|
| Adaptive guidance | Severity ok / warn / block before Live Preview and Start |
| Feature | Detail |
|---|---|
| Getting Started dialog | Long-form in-app guide |
| Learn Studio/Learn Theme Wizard | Spotlight tours |
| Take the Full Tour | End-to-end: Theme Wizard → Studio (palette, poll modes, naming, canvas, layers, properties, windows, preview, position stage, save vs build) → Manager → Store |
| Support dialog | Discord + developer YouTube |
| Wiki | FAQ, features, sharing, store, plugins, import, troubleshooting, compatibility |
| Area | Stance |
|---|---|
| X11 | Most predictable for desktop HUDs |
| Wayland | Plasma + wlroots compositors with a Wayland-built Conky; GNOME Mutter Wayland cannot host overlays |
| Conky builds | Some packages are X11-only; Studio detects and warns |
| Music | Needs playerctl + an active player |
| Plugins/absolute paths | Main pitfalls when sharing JSON instead of built folders or .cstudio
|
- Not a screenshot-only toy or locked theme pack
- Not a full reverse-compiler of arbitrary Cairo into discrete gauge nodes
- Not a fix for compositors that refuse desktop overlays
- Not a replacement for reading Hardware & Session when the environment is the bottleneck
It is a way to design real Conky themes faster, preview them truthfully, and export files Conky already understands.