-
-
Notifications
You must be signed in to change notification settings - Fork 1
Features
Everything Conky Studio is built to do, grouped by area. Depth varies by release channel; items marked in progress are not guaranteed yet.
| 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 |
| No root required for Studio | AppImage-style use; no sudo/pkexec/package manager required to run the editor (Conky itself is still your system’s package) |
| Session-aware | Detects X11/Wayland, compositor hints, Conky build, hardware signals and surfaces them in UI |
| Feature | Detail |
|---|---|
| Manager tab | Lists installed themes (e.g. under ~/.config/conky/); start/stop processes; open theme folders; edit README and theme.json
|
| Studio tab | Full editor: palette, canvas, properties, layers, live preview |
| Store tab | Browse/install community content when feeds or archives are configured; may hand off to browser (e.g., OpenDesktop) |
| Project menu | New HUD (wizard), New Blank HUD, Open/Save project JSON, Build to Folder, Build & Install, Import Legacy Theme |
| Tools menu | Hardware & Session report, Install Font, Plugins |
| Help menu | Getting Started guide, Learn Studio interactive tour, Support (Discord + YouTube) |
| Theme Wizard on launch | Optional first-run / every-launch wizard; “Do not show again” preference |
| Undockable panels | Nodes, Layers, Properties as docks (close, float, retab); hidden-panel strip to restore them |
| Feature | Detail |
|---|---|
| Node graph | Drag nodes, connect sockets, delete selection |
| Pan/zoom | Drag empty space to pan; Ctrl+scroll to zoom |
| Multi-select | Shift + Left-click drag |
| Socket wiring | Output (sources/logic/visual, or Source/Visual) → bindable inputs on targets; kind-aware coloring |
| Data-flow highlight | Selecting a node emphasizes related wires (trace upstream/downstream) |
| Groups | Group selection, ungroup, collapse/expand, rename; members move with the frame; editor-only (no codegen impact) |
| Free-form labels | Canvas notes for documentation; editor-only |
| Context menu | Delete, group, ungroup, collapse, labels |
| Canvas node | Width/height = workable HUD resolution; alignment, gaps, FPS, transparency, window type |
| Feature | Detail |
|---|---|
| Categorized palette | Sources, Logic, Visuals, plugin sections, simple, Complex (advanced); 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 chips when connected |
| Layers dock | Visuals only: reorder draw stack, eye (visibility → skipped in codegen), lock (no move) |
| HUD name field | Becomes install folder name on Build & Install |
| Feature | Detail |
|---|---|
| Live Preview Start/Stop | Generates and runs Conky; stop ends the process |
| Fast iteration | Change props/wires → preview again without hand-writing conf |
| Feature | Detail |
|---|---|
| Categories | e.g., Minimal, Gaming, RPG, Sci-Fi, Cyberpunk, Terminal, Fantasy, Batman |
| Resolution presets | Common desktop sizes for canvas setup |
| Panels | Weather, CPU, GPU, RAM, Disk, Battery, Clock, Calendar, Music, Network, etc (set depends on build) |
| Extras | Chrome, threshold LEDs, history graphs, brackets, glow, etc. when node types exist |
| Starter graph | Full editable project — not a locked template |
| Feature | Detail |
|---|---|
| Native system sources | CPU, RAM, disk, network, uptime, hostname, kernel, processes, battery, date/time, greeting, etc |
| GPU/sensors | GPU stats & temps, disk sensors where detection allows |
| Weather | Script + cache style families |
| Music/now playing | playerctl-oriented path (requires playerctl + active player) |
| Custom Script | Any executable; poll interval; execi (Conky-native) or daemon (background + cache) |
| Unused sources omitted | Codegen avoids polling sources not used in the graph |
Built-ins sit between sources and visuals (dependency order each refresh), including:
See [Node Reference](Node Reference) for more details than this list provides
| Area | Examples |
|---|---|
| Math | Math ops, scale/offset, invert percent, absolute, round, etc |
| Rules | Conditional, threshold gate, AND/OR, pick A/B, etc |
| Range/smooth | Map range, clamp, lerp, deadzone |
| Format | String format into labels |
Plugins can add more (EMA smooth, rate limit, peak hold, multi-stage thresholds, unit convert, etc) without shipping core changes.
| Area | Examples |
|---|---|
| Text | Text label, text list, wall calendar |
| Gauges & bars | Arc/ring gauge, bar variants, reactor gauge, ring track, LED, etc |
| Graphs | History graph |
| Effects | Glow/pulse, spiral, radar, moon phase, corner brackets, analog clock, etc |
| Shapes | Rectangle, lines, crosshair, star styles, triangle, circle/arc/pie, etc |
| Media & icons | Image/Icon (PNG/SVG + threshold swaps), weather icon, album art, glyph, etc |
| Advanced |
Custom Lua — full Cairo in the shared draw path (cr, W, H) |
| Feature | Detail |
|---|---|
| Colour | A colour picker for all visuals |
| Gradients | Linear and radial fills on fill visual nodes |
| Screen Color picker* | Choose any color on your screen |
| Click actions | Visuals can run shell commands on click (explicit regions) |
| Star styles | Regular N-point, pentagram, Star of David, Christmas tree star, etc |
| Draw order | Controlled via Layers (and z on nodes) |
| Feature | Detail |
|---|---|
| conky.conf | Window and update settings from Canvas/project |
| render.lua | Framework + per-node draw/logic emission |
| start.sh | Standardized launcher: detach, locks, optional background pollers |
| scripts/ | Generated or copied helpers for sources that need them |
| images/ · fonts/ | Assets as required by the graph |
| theme.json | Metadata for Manager / sharing |
| README.md | Human notes; editable from Manager |
| Independent processes | Themes keep running after Studio quits |
Build to Folder vs Build & Install to Manager; same generator; install targets the Conky config tree Manager scans.
| Feature | Detail |
|---|---|
| Discover themes | Scans Conky config locations |
| Start/Stop | Process control for installed or compatible themes |
| Drop-in folders | Add themes by placing/copying into the managed tree |
| README editor | In-place notes for installed themes |
| theme.json editor/generate | Metadata create and edit |
| Refresh | Rescan after install or external changes |
| Feature | Detail |
|---|---|
| Folder import | Point at a theme with conf/TEXT/Lua/scripts |
| Current + older syntax | Semantic mapping into nodes where possible |
Native sources from ${…} |
Common vars become 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 a pixel-perfect clone; images/media not fully imported as drawable image nodes; ${if_…} simplified; TEXT layout approximate; ~70–90% structural usefulness typical; finish in Studio, then Build. See Legacy Import.
| Feature | Detail |
|---|---|
| JSON packs only | Metadata + Lua templates; no plugin Python |
| Logic + visual categories |
lua_expr / lua_draw_body (+ optional lua_helpers) |
| Local + remote install |
~/.config/conky-studio/plugins/, manifest URL, in-app Plugins dialog |
| Validation | id rules, kinds, placeholder checks; validate_only for authors |
| Trust model | Same as theme scripts inside Conky |
See Plugins.
| Feature | Detail |
|---|---|
| Save/load project JSON | Full graph round-trip for remixing in Studio |
| Built theme portability | Run without Studio |
| Groups/labels in project | Optional editor metadata in JSON when present |
| Plugin dependency friction | Missing packs break or placeholder nodes — document packs when sharing graphs |
See Sharing Projects.
| Feature | Detail |
|---|---|
| Hardware & Session report | Display server, desktop, layer-shell hints, Conky install/version/Wayland, sensors, GPU, net, disks, notes (e.g. GNOME warnings) |
| Font installer | Tools → Install Font for theme typography |
| Adaptive guidance | Warn when environment cannot support chosen overlay style |
| Feature | Detail |
|---|---|
| Getting Started dialog | Long-form in-app guide |
| Learn Studio tour | Spotlight walkthrough of name, palette, canvas, resolution, properties, layers, preview |
| Support dialog | Discord + developer YouTube links |
| Wiki (this docs set) | FAQ, features, sharing, store, plugins, import, troubleshooting |
| Feature | Detail |
|---|---|
| Store tab | Catalog/install path when configured |
| Archive install | e.g., zip/tar/tar.gz style packages |
| Browser hand-off | OpenDesktop-style flows when needed |
| Community packaging guidance | Built theme primary; JSON optional for remixers |
In progress/community-driven (not promised): deeper store UX, animation keyframes, built-in performance profiler; depend on feedback and roadmap.
| Area | Stance |
|---|---|
| X11 | Most predictable for desktop HUDs |
| Wayland | Compositor-dependent; GNOME/Mutter weak for overlays |
| Conky builds | Some distro packages are X11-only, Studio detects and warns |
| Music | Needs playerctl ecosystem |
| Plugins/absolute paths | Main pitfalls when sharing JSON instead of built folders |
- 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.