PlasmaZones 2.8.0
15 changes, released April 7, 2026.
Added
- Support report generator (#302):
plasmazones-reportscript 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.jsonrestructured 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
AutoTileStatetoWindowTrackingAdaptorfor cleaner separation between tiling logic and state serialization. - Settings consolidation:
settings-window.confmerged intoplasmazones-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):
loadStatewas bypassingIConfigBackendgroup 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: Fixedqsizetypevs%dprintf mismatch.