PlasmaZones 2.8.0

15 changes, released April 7, 2026.

Added

  • Support report generator (#302): plasmazones-report script collects daemon logs, config, and data directory into a tar.gz archive for bug reports and discussions.
  • Autotile window preservation (#301): Autotiled windows now survive layout switches, mode toggles, and daemon restarts, matching the preservation behavior that snapped windows already had.
  • Disabled-context OSD (#297): Visual feedback when toggling PlasmaZones on a disabled desktop, activity, or screen. Shows why nothing happened and where to change it.
  • Config v2 nested schema (#295): config.json restructured from flat keys to a nested hierarchy mirroring the settings UI. Existing v1 configs are migrated automatically.
  • Systemd service autostart: Enabling the daemon toggle now also enables the systemd user service so PlasmaZones starts on login.

Changed

  • Assignments split to assignments.json (#300): Layout-to-screen assignments moved out of the main config into a dedicated file, reducing config churn and merge conflicts.
  • Session state split to session.json (#298): Ephemeral session data (window positions, floating state) moved to its own file so it doesn’t dirty the user config.
  • Autotile persistence refactor (#296): Session persistence moved from AutoTileState to WindowTrackingAdaptor for cleaner separation between tiling logic and state serialization.
  • Settings consolidation: settings-window.conf merged into plasmazones-settings.conf.

Fixed

  • Assignment persistence across restart (#303): Layout assignments and tiling window order now survive daemon restarts and mode-cycle toggling.
  • Autotile ratio retry (#299): Bounded retry for transient geometry failures during autotile layout. Stale min-size overrides are cleared after resize settles.
  • Config purge unknown keys (#300): Unknown root-level groups are removed on save, preventing config pollution from obsolete or misspelled keys.
  • Window restore after config v2 migration (#295): loadState was bypassing IConfigBackend group API after the schema change, breaking window restore on first launch.
  • Watcher double-delete guard (#302): Fixed a use-after-free race in the file watcher teardown path.
  • Format warning in splitDotPath: Fixed qsizetype vs %d printf mismatch.