github fuddlesworth/PlasmaZones v1.12.2
PlasmaZones v1.12.2

latest releases: v3.0.13, v3.0.12, v3.0.11...
3 months ago

PlasmaZones v1.12.2

Fixed

  • Audio visualizer: CAVA process silently failed when bar count was odd (exit code 1, "must have even number of bars with stereo output"). Even bar counts are now enforced at all layers: CavaService, KCM setter, and UI slider (stepSize=2).
  • Audio shader data: QML || [] fallback on audioSpectrum binding forced V4 JavaScript conversion, losing the native QVector<float> type needed by ZoneShaderItem's fast path. Replaced with a Binding element guarded by when to preserve type identity through the binding chain.
  • CAVA stderr capture: Switched from ForwardedErrorChannel to SeparateChannels so CAVA error output is captured in daemon logs instead of lost.
  • CAVA exit diagnostics: Moved exitCode()/readAllStandardError() from stateChanged to finished signal handler per Qt API contract. Only warns on non-zero exit code (stderr on exit 0 is normal for CAVA).

Changed

  • Shared audio constants: Audio::MinBars/Audio::MaxBars moved to src/core/constants.h with static_assert for even values, eliminating magic number duplication across CavaService, KCM, and QML.
  • Nix: Re-enabled Nix CI, release builds, flake.lock updater, and plasmazones.nix release asset now that nixpkgs-unstable has the Plasma 6.6 stack (NixOS/nixpkgs#479797).

Installation

Arch Linux (AUR):

yay -S plasmazones  # or plasmazones-bin

Arch Linux (manual):

sudo pacman -U plasmazones-1.12.2-1-x86_64.pkg.tar.zst

Ubuntu/Debian (25.10+):

sudo dpkg -i plasmazones_1.12.2-1_amd64.deb
sudo apt-get install -f  # Install dependencies if needed

Fedora:

sudo dnf install plasmazones-1.12.2-1.fc43.x86_64.rpm

Universal Linux (AppDir):
For Fedora Atomic, Steam Deck, or non-root user installation:

tar xzf plasmazones-1.12.2-linux-x86_64.tar.gz
cd plasmazones-linux-x86_64
./install.sh

NixOS (flake):

# flake.nix inputs
plasmazones.url = "github:fuddlesworth/PlasmaZones";

# configuration.nix
programs.plasmazones.enable = true;

NixOS (standalone):
Download plasmazones.nix from the release assets, then:

# configuration.nix
environment.systemPackages = [
  (pkgs.callPackage ./plasmazones.nix {})
];

Post-Installation

systemctl --user enable --now plasmazones.service
systemsettings kcm_plasmazones

Don't miss a new PlasmaZones release

NewReleases is sending notifications on new releases.