Releases: bobbycomet/Conky-Studio
Release list
v1.1.0.3 Bar fix
Issue: Orientation only affected solid bars. Segmented and trapezoid always drew horizontally, so Vertical in the property panel had no effect for those styles.
Changed
- Normalized
orientationandstylewith.lower()so values like"Vertical"still match. - Solid (vertical): Unchanged behavior; track full size; fill grows from the bottom upward (
y + h - fh). - Segmented (vertical): Segments stack bottom → top; lit count fills from the bottom (same percent logic as horizontal).
- Trapezoid (vertical): Full trapezoid track; fill clipped to a bottom-up height band so progress still reads correctly on a tall, narrow bar.
- Horizontal paths for all three styles left as before.
- Shared
setup_indentedfor gradient/source setup inside segmented loops (avoids duplicating the replace logic).
Unchanged
- Node spec (
visuals.py):orientationenumhorizontal|verticalalready present. - Horizontal solid / segmented / trapezoid drawing.
- Gradient / blend pipeline via
fill_source_lua.
Position stage/live preview bug fix
Fixed
-
Position Stage frozen after Live Preview Start/Stop
Starting Live Preview could leave the Position Stage unable to move any visual, and the problem remained after Stop.Cause: plain left-clicks on empty stage area switched the view into pan-only mode (
ScrollHandDrag). When the Conky preview window took focus mid-gesture,mouseReleasenever ran on the stage, so the view stayed pan-only permanently.Fixes:
- Left-click no longer enters pan mode. Pan is middle-click or Alt+left-drag only; left-click always keeps item-drag mode so proxies stay movable.
- Stage view restores item-drag mode on focus in, show, and mouse enter (covers returning from the Conky window).
- New
PositionStagePanel.reset_interaction()reasserts drag mode and per-proxy movable/lock flags. - Studio wires Live Preview started and stopped to
reset_interaction()so Start/Stop always recover the stage. - Labels and the window frame still ignore mouse input; refresh/selection still reassert
ItemIsMovable.
Position stage bug fix
Fixed
-
Position Stage stuck after graph selection
Selecting a node on the graph (and opening the Properties panel) could leave the Position Stage unable to move any visual. Using the stage first still worked; the problem appeared once users started adding/selecting nodes.Root causes and fixes:
- Proxy labels were receiving mouse clicks instead of the parent proxy, so drags never started (especially after selection raised z-order). Labels now ignore mouse input.
- View drag mode could stay on pan-only (
ScrollHandDrag) after empty-area clicks, blocking all proxy moves. Left-click over an unlocked proxy always restores item-drag mode; pan remains middle-click / Alt+drag (or empty area). - Hit-testing did not walk the parent chain, so clicks on label children missed the proxy. Hits now resolve to the owning
StageProxyItem. - The window frame no longer accepts mouse events, so it cannot intercept clicks meant for proxies.
- Graph → Properties selection sync now reasserts
ItemIsMovableon every proxy and resets the view to item-drag mode, so selection alone cannot freeze the stage.
v1.1.0
Conky Studio 1.1.0
Added
- Multi-window/multi-monitor — one Conky process per window; optional scene filters and monitor pin
.cstudiopackages — portable projects (graph + assets + fonts)- Position Stage — drag visuals on a window-sized plane (same x/y · cx/cy as Properties)
- Scale % — uniform scale for visuals (geometry, text, strokes, images)
- Theme Vault + Node Vault community stores
- Theme Wizard tiers (Simple/Full/Showcase) and redesigned presets
- Guided tours (Learn Studio, Theme Wizard, Full Tour)
- Plugin Creation tool; Plugins dialog improvements
- Gradients, blend modes, and additional visual nodes
Changed
- Live Preview and Build still share one export path (
conky.conf,render.lua,start.sh) - Windows dock visibility controlled from Canvas (does not enable/disable multi-window data)
Fixed
- Preview restarts: fewer
BadWindow/exit 6 races - Position Stage snap no longer sticks after Snap is turned off
- Missing plugins warn and skip instead of failing the whole build
- Layers selection no longer steals the Properties tab mid-drag
Notes
- Exported themes run without Studio
- GNOME Wayland still limited for overlays — see Compatibility wiki
v1.0.7.5.1
v1.0.7.5.1 — Save Project Bug Fix
Fixed
- Save Project now suggests your HUD's actual name. Previously, the Save Project dialog always defaulted to
hud.jsonregardless of what you'd named your HUD in the Studio tab's name field. It now suggests<Your HUD Name>.jsoninstead, sanitized for filesystem safety (illegal characters stripped, falls back tohud.jsonif the name is empty or unusable).
No other behavior changes; projects that already have a saved path continue to save to that exact file as before; this only affects the filename suggested the first time you save a new project.
v1.0.7.5
1.0.7.5 — New Detection Feature
Added
- Hardware & Session now detects your Linux distro (via
/etc/os-release, including derivatives like Mint, Pop!_OS, Manjaro, Rocky, etc., through theirID_LIKEparent) and checks for two optional CLI tools:lm-sensorsandplayerctl. - If either is missing, the report now shows a clear warning explaining what they're used for (hardware sensors for CPU/GPU/RAM/fan sources, and audio/now-playing sources) and gives the exact install command for your detected distro, so you're not left guessing the right package manager or package name.
- New
=== Optional tools ===section in the Hardware & Session report showing your detected distro and the install status of both tools.
Notes
- This is purely informational; nothing is installed automatically, and the warning explicitly says to ignore it if you're not using CPU/GPU/RAM/fan or now-playing sources.
- Falls back with a generic "check your package manager" message if the distro can't be confidently identified.
v1.0.7.4
1.0.7.4 — Collision fix
The cause
v1.0.7.3
When I imported the missing extras, Lua_gen had no defense against the collision, so it went unnoticed at first glance, as everything looked correct.
Fixed
- Logic plugin ID collisions with built-ins. Seven plugins reused flat
logic.*type ids already claimed by core nodes, which could raise on register, silently no-op (deadzone), or overwrite codegen templates:logic.threshold→logic.plugin.thresholdlogic.deadzone→logic.plugin.deadzonelogic.smooth→logic.plugin.smoothlogic.round→logic.plugin.roundlogic.boolean_and→logic.plugin.boolean_andlogic.boolean_or→logic.plugin.boolean_orlogic.pick→logic.plugin.pick
- Codegen duplicate registration —
_LOGIC_GENERATORS/_VISUAL_GENERATORSnow raiseValueErroron a second registration of the same type instead of silently overwriting (matches the registry’s intent; plugins must use unique ids such aslogic.plugin.*/visual.plugin.*).
Added
logic_generators_extra.py— Lua generators for the extra logic nodes (smooth,rate_of_change,hysteresis,string_join,enum_map) so they compile once those modules are imported.- Local string/literal helpers in that module so it does not circular-import
lua_genduring startup.
Notes / required wiring
- Projects that still reference the old plugin type strings need a one-time retarget to the
logic.plugin.*ids (or a loader migration). Just uninstall the plugin, exit the plugin window, refetch the list, and reinstall. This will fix the collision issues. - Visual plugins were already namespaced as
visual.plugin.*; no change there.
v1.0.7.3
1.0.7.3 — Fix
Fixed missing node and extension imports in /conky-studio/nodes/__init__.py.
This resolves an issue where some built-in node groups and extension bootstrap modules were not being loaded correctly.
Added missing imports:
from . import logic_extra # noqa: F401
from . import sources_extra # noqa: F401
from . import visuals_extra # noqa: F401
from . import visuals_more # noqa: F401
import conkystudio.extensions_bootstrap # noqa: F401v1.0.7.2
1.0.7.2 Pling/OpenDesktop installer fix
OCS/Pling /OpenDesktop installer
- When a downloaded theme has no
start.sh, Conky Studio now writes a minimal one automatically. - The generated script:
- Changes into the theme directory
- Makes
scripts/*.shand*.shexecutable - Prefers
conky.conf, then falls back to the first*.conf/*.conkyrc - Launches Conky with that config
- Install success message notes when a
start.shwas added (… (added a minimal start.sh)). - Themes that already ship with a
start.share left unchanged.
Limitattions
- If it is a collection, it may still install a start.sh, safely delete it
- If a theme is broken, this will not fix it
- Does not install requirements if a theme has some
v1.0.7.1
Patch release — OpenDesktop / Pling Store fixes/Theme preview in the manager
Fixed
-
openDesktop search failed with HTTP 410
The provider base URL now points at the live endpointhttps://api.opendesktop.org/ocs/v1/. -
Pling search always showed “No results”
Pling’s OCS JSON is flat (datais a list of content objects). The client only handled the classic nested shape (data.content/dataas a dict), so every successful response was treated as empty. Parsing now accepts both formats. -
Status / rate-limit handling on flat responses
Top-levelstatuscode/status/message(Pling-style) are checked when a nestedmetablock is missing, so rate limits and API errors surface correctly in the UI. -
Theme preview
Fixed an issue that caused the theme preview to not show up because it searched *.png in all files, so if you had assets, it confused the manager which image to target. It now points directly to a preview.png.
Technical
- Updated
DEFAULT_PROVIDERS["opendesktop"]instore/ocs_client.py - Hardened
_data_list()and_parse_contents()for list-shapeddatapayloads categories()relies on the shared status validation path instead of a separate empty-meta check
Notes
- Community Store (static
index.json) is unchanged - Install /
ocs://handling is unchanged - Verified live against Pling and
api.opendesktop.orgwith search queryconky