Skip to content

Releases: bobbycomet/Conky-Studio

v1.1.0.3 Bar fix

Choose a tag to compare

@bobbycomet bobbycomet released this 25 Aug 09:52
05a1f12

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 orientation and style with .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_indented for gradient/source setup inside segmented loops (avoids duplicating the replace logic).

Unchanged

  • Node spec (visuals.py): orientation enum horizontal | vertical already present.
  • Horizontal solid / segmented / trapezoid drawing.
  • Gradient / blend pipeline via fill_source_lua.

Position stage/live preview bug fix

Choose a tag to compare

@bobbycomet bobbycomet released this 23 Aug 18:23
05a1f12

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, mouseRelease never 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

Choose a tag to compare

@bobbycomet bobbycomet released this 23 Aug 17:50
dbb670a

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 ItemIsMovable on every proxy and resets the view to item-drag mode, so selection alone cannot freeze the stage.

v1.1.0

Choose a tag to compare

@bobbycomet bobbycomet released this 23 Aug 14:51
8f1c655

Conky Studio 1.1.0

Added

  • Multi-window/multi-monitor — one Conky process per window; optional scene filters and monitor pin
  • .cstudio packages — 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

Choose a tag to compare

@bobbycomet bobbycomet released this 12 Aug 14:57
0b1843d

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.json regardless of what you'd named your HUD in the Studio tab's name field. It now suggests <Your HUD Name>.json instead, sanitized for filesystem safety (illegal characters stripped, falls back to hud.json if 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

Choose a tag to compare

@bobbycomet bobbycomet released this 08 Aug 10:00
698556f

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 their ID_LIKE parent) and checks for two optional CLI tools: lm-sensors and playerctl.
  • 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

Choose a tag to compare

@bobbycomet bobbycomet released this 07 Aug 05:50
7ec61fa

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.thresholdlogic.plugin.threshold
    • logic.deadzonelogic.plugin.deadzone
    • logic.smoothlogic.plugin.smooth
    • logic.roundlogic.plugin.round
    • logic.boolean_andlogic.plugin.boolean_and
    • logic.boolean_orlogic.plugin.boolean_or
    • logic.picklogic.plugin.pick
  • Codegen duplicate registration_LOGIC_GENERATORS / _VISUAL_GENERATORS now raise ValueError on a second registration of the same type instead of silently overwriting (matches the registry’s intent; plugins must use unique ids such as logic.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_gen during 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

Choose a tag to compare

@bobbycomet bobbycomet released this 07 Aug 01:41
537c720

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: F401

v1.0.7.2

Choose a tag to compare

@bobbycomet bobbycomet released this 06 Aug 07:51
a3d76fe

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/*.sh and *.sh executable
    • Prefers conky.conf, then falls back to the first *.conf / *.conkyrc
    • Launches Conky with that config
  • Install success message notes when a start.sh was added (… (added a minimal start.sh)).
  • Themes that already ship with a start.sh are 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

Choose a tag to compare

@bobbycomet bobbycomet released this 05 Aug 09:39
9322f3a

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 endpoint https://api.opendesktop.org/ocs/v1/.

  • Pling search always showed “No results”
    Pling’s OCS JSON is flat (data is a list of content objects). The client only handled the classic nested shape (data.content / data as a dict), so every successful response was treated as empty. Parsing now accepts both formats.

  • Status / rate-limit handling on flat responses
    Top-level statuscode / status / message (Pling-style) are checked when a nested meta block 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"] in store/ocs_client.py
  • Hardened _data_list() and _parse_contents() for list-shaped data payloads
  • 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.org with search query conky